home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
rbbsdoc.zip
/
RBBSDOC2.DOC
< prev
Wrap
Text File
|
1988-10-01
|
343KB
|
6,553 lines
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 109 of 232
12.2.1 Command to Reset the Modem
---------------------------------
The modem reset command is the first option in CONFIG parameter 225 and
it's default value is the Hayes command string:
Command Meaning
AT Signifies the following characters are Hayes commands.
Z Causes a software reset and applies all default values.
This command is ALWAYS issued and is the first command issued to the
modem every time RBBS-PC gets ready for calls.
12.2.2 Command to Initialize the Modem
--------------------------------------
The modem initialization command is ALWAYS issued and is the second command
issued to the modem every time RBBS-PC gets ready for calls.
The modem intialization command is the second option in CONFIG parameter
225 and it's default value is one of following Hayes command strings.
If CONFIG has used to set RBBS-PC to answer on a ring greater than zero,
the command string is:
Command Meaning
AT Signifies the following characters are Hayes commands.
M0 Turn the monitor speaker on the modem off permanently.
Q1 Do not return result codes to the PC.
S2=255 Disable escape code detection.
S10=30 Do not drop disconnect user unless carrier drops for more
than seconds (you may want to set this to 15)
E0 Do not echo characters back to the PC when receiving Hayes
commands.
Q0 Send result codes to the PC.
X1 Tells the modem to send "extended" result codes to the PC.
S0=x "x" is set as follows:
S0=254 to answer on a specific number of rings > 0
S0=255 to enable "ring-back"
If CONFIG sets RBBS-PC to answer on zero rings, the command string is:
Command Meaning
AT Signifies the following characters are Hayes commands.
M0 Turn the monitor speaker on the modem off permanently.
Q1 Send result codes to the PC.
S2=255 Disable escape code detection.
S10=30 Do not drop disconnect user unless carrier drops for more
than seconds. Some of the Hayes ROM's have a bug in them
that causes the modem to only answer at 1200 baud if anything
other than the factory default is used for S10. If you
have such a problem, simply set S10 equal to 7.
E0 Do not echo characters back to the PC when receiving Hayes
commands.
Q0 Send result codes to the PC.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 110 of 232
X1 Tells the modem to send "extended" result codes to the PC.
S0=1 Answer the phone on the first ring.
Q0 Send result codes to the PC.
X1 Tells the modem to send "extended" result codes to the PC.
12.2.3 Command to Count The Number of Rings
-------------------------------------------
The modem command that counts the number of rings is the third option in
CONFIG parameter 225 and it's default value is the following Hayes command
string:
Command Meaning
AT Signifies the following characters are Hayes commands.
S1? Requests the modem to return the number of times that the phone
has rung.
This command string is only issued when CONFIG has been used to tell RBBS-
PC to answer on a specific number of rings other than 0. Some modems have
trouble with the S1? command because they do not recognize the ? part of
the command. Again, verify what your modem is capable of handling.
12.2.4 Command to Answer the Phone
---------------------------------
The modem command to answer the phone is the fourth option in CONFIG
parameter 225 and it's default value is one of following Hayes command
string:
Command Meaning
AT Signifies the following characters are Hayes commands.
Q0 Tells the modem to send result codes to the PC.
X1 Tells the modem to send "extended" result codes to the PC.
V1 "Extended" result codes are to be transmitted as words.
A Tells the modem to answer the phone immediately.
This is only issued if the number of rings to answer on are greater than 0.
RBBS-PC utilizes the extended verbal results code (CONNECT, CONNECT 300,
CONNECT 1200, and CONNECT 2400) to determine the callers baud rate.
Some Hayes 300 modems don't function with RBBS-PC because they do not
recognize the "X1" command. If you have a modem like this, simply remove
the X1 command from the command strings in the .DEF file.
12.2.5 Command to Take the Phone Off the Hook
---------------------------------------------
The modem command to take the phone off the hook is the fifth option in
CONFIG parameter 225 and it's default value is the following Hayes command
string:
Command Meaning
AT Signifies the following characters are Hayes commands.
Q1 Do not return result codes to the PC.
E1 Echo characters back to the PC when handling Hayes commands.
H1 Take the modem off the hook (i.e. busy out the line).
M0 Turn the monitor speaker on the modem off permanently.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 111 of 232
This command is ALWAYS issued whenever the SYSOP is doing local maintenance
(i.e. hits ESC) or a user hangs up.
12.2.6 Commands to Initialize Smartmodem 2400 Firmware
------------------------------------------------------
The commands to initialize the modem firmware are not contained in the .DEF
file, but rather are dynamically set (or reset) each time that CONFIG is
invoked. There are essentially three commands:
1. A command to clear the modem's firmware.
2. A command to initialize the modem's firmware.
3. The command to write the initialized firmware to the modem's
non-volatile memory is "&W".
The modem command to clear the modem's firmware is the sixth option in
CONFIG parameter 225 and it's default value is the following Hayes command
string:
Command Meaning
AT Signifies the following characters are Hayes commands.
&F Load the modem active configuration area with the factory
profile contained in the Hayes ROM.
The modem command to initialize the modem's firmware is the seventh option
in CONFIG parameter 225 and it's default value is the following Hayes
command string:
Command Meaning
AT Signifies the following characters are Hayes commands.
&C1 Data carrier detect tracks the state of the data carrier from
the remote modem.
&D3 Modem is to assume the initialization state if it detects ON-
to-OFF transition of DTR. The newer versions of the Hayes
2400 baud modem (ROM 249 or greater) and some clones do not
allow RBBS-PC to recycle properly when the &D switch is set
to 3. If you are having a problem, set the it to &D2.
B1 Set the modem to Bell 212A mode when the 1200 BPS data transfer
rate is selected.
E0 Do not echo characters of the modem commands issued by RBBS-PC
back to the PC running RBBS-PC.
V1 Select long-form result codes.
M0 Disable the modem's speaker when carrier is detected.
S0=0 Disable "auto-answer" mode.
&T5 Disallow a request from the remote modem for a remote digital
loopback test.
The modem command to write the initialized firmware to the modem's non-
volatile memory is the sixth option in CONFIG parameter 225 and it's
default value is the following Hayes command string:
Command Meaning
&W Write the Hayes firmware settings to non-volatile memory
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 112 of 232
These three commands are ALWAYS issued in CONFIG when parameter 231 is
selected. These commands can be temporarily altered by changing them via
parameter 225 of CONFIG prior to invoking parameter 231.
12.2.7 Commands to Initialize Smartmodem 9600 Firmware
------------------------------------------------------
The Hayes V-series Smartmodem 9600's active configuration should be:
B1 -- Factory setting
E1 -- Factory setting
L1 -- Low speaker volume (unless you like noise).
M1 -- Factory setting
N1 -- Factory setting
Q0 -- Factory setting
T -- touch tone (could be "P" for pulse dial).
V1 -- Factory setting
W1 -- Modem reports error-control call (i.e. LAP-B/HDX).
X1 -- Send result basic result codes plus CONNECT 1200, 2400, etc.
Y0 -- Factory setting
&C1 -- Factory setting
&D2 -- Disable auto-answer when carrier drops.
&G0 -- Factory setting
&J0 -- Factory setting
&K3 -- Factory setting
&L0 -- Factory setting
&P0 -- Factory setting
&Q5 -- Factory setting
&R0 -- Factory setting
&S1 -- Data Set Ready operates according to RS-232C standards.
&T5 -- Deny requests for remote loop back tests from calling modem.
&X0 -- Factory setting
&Y0 -- Factory setting
S00:254 -- Let phone ring 254 times before automatically answering it.
S01:000 -- Factory setting
S02:043 -- Factory setting
S03:013 -- Factory setting
S04:010 -- Factory setting
S05:008 -- Factory setting
S06:002 -- Factory setting
S07:054 -- Assume no carrier is detected within 54 seconds of answering.
S08:002 -- Factory setting
S09:006 -- Factory setting
S10:030 -- Let carrier drop for up to 30 seconds before disconnecting.
S11:095 -- Factory setting
S12:050 -- Factory setting
S18:000 -- Factory setting
S25:005 -- Factory setting
S26:001 -- Factory setting
S36:001 -- Factory setting
S37:000 -- Factory setting
S38:020 -- Factory setting
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 113 of 232
The Hayes V-series Smartmodem 9600's have non-volatile memory that contains
three different possible configurations --
1. the active configuration,
2. the profile 0 configuration, and
3. the profile 1 configuration.
To utilize the Hayes V-series 9600 modems with RBBS-PC, it is necessary
that the SYSOP
1. set the active configuration as shown on the previous pages, and
2. write this active configuration to profile 0 with the &W0 command.
This can be done by temporarily re-CONFIGuring the default modem firmware
initialization commands via parameter 225 (items 6, 7, and 8) before
initializing the Hayes Smartmodem 9600's firmware via parameter 231.
RBBS-PC is able to interface with the Hayes V-series Smartmodem 9600 at
300, 1200, 2400, 4800, and 9600 baud. When operating at the two highest
baud rates, the Hayes V-series Smartmodem 9600 is limited to connecting
with only other Hayes V-series Smartmodem 9600's. RBBS-PC recognizes
whenever the Hayes version of error-correction protocol, "LAP-B", is
enabled between the caller and RBBS-PC.
RBBS-PC has been tested with the above active configuration and no problems
have been encountered using the "internal" protocols supplied with RBBS-PC.
Questions regarding the Hayes V-series 9600 modems and any of the
"external" protocols which a SYSOP may choose to make available should be
addressed to the authors of such protocols.
13. RBBS-PC's FILE MANAGEMENT SUBSYSTEM
----------------------------------------
The File Subsystem is the method by which RBBS-PC maintains the list of
files that are available for downloading which a caller can list. Some
features of the File System are the ability to list files after a certain
date, to list files having a string in their header, and to list files by
category. RBBS-PC refers to a file that contains a list of files available
for downloading as a "directory" (i.e. a .DIR file).
There are two possible extremes when working with the File System. One is
to have multiple separate "directory" files. The other extreme is to have
a single master "directory" file (i.e. a single FMS file) that contains the
names, sizes, dates, and description of all the files available for
downloading.
You may use both ideas at once if you wish. It is perfectly allowable to
use the master FMS directory as well as the smaller ones. CONFIG parameter
215 controls whether RBBS-PC looks beyond the FMS directories. If you have
any separate directories, set 215 to NO. If you have only a single FMS
directory, set parameter 215 to YES. If directory searches are not limited
to the FMS directories and RBBS-PC does not find the category in the FMS
listing, it will look for the old-style DIR files.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 114 of 232
13.1 Multiple Directory Format
------------------------------
The multiple directories, also referred to as the old-style directories,
are simply text files. They consist of a filename ending in a certain
extension, specified in CONFIG, common to all the directories. The default
extension is .DIR, but it can be changed via parameter 209. There is a
directory which lists the directory names and their descriptions whose name
is specified via parameter 211 of CONFIG.
Each directory is simply a text file. It may have anything in it, including
ANSI codes. The only restriction is that in order for the N)ew command to
work properly, the date must be somewhere in the first 31 characters.
A file is classified in a directory simply by being put into the file. The
SYSOP can allow the caller to classify uploads (by setting the minimum
security for classifying to a low enough value). All uploads must go into
a single directory, called the upload directory, specified in parameter
202, and it will be in the drive\path specified in parameter 203. All
other directories must be in the drive\path specified in parameter 220.
This includes the FMS directory (MASTER.DIR) and the list of DIR files,
(DIR.DIR).
There are, therefore, four logical areas into which the file subsystem is
divided. Each one may reside in a separate DOS directory, or all of them
may be lumped together into one main directory.
Logical Area CONFIG
1. The files for DOWNLOAD parameter 204, parameter 205, and
parameter 207
2. The files that have been uploaded parameter 201 and parameter 206
3. The upload directory file listing. parameter 202 and parameter 203
4. The download directory files. parameter 220
The files in the download directory are the only files that may be
downloaded. The SYSOP may elect to have the upload directory also a
download subdirectory. This can be done by specifying it in the download
"PATH".
One interesting feature of the File Subsystem is that you can build a
"chain" of drives and subdirectories to search for a given file. The
SYSOP, via parameter 204, can list the order of the drives to be searched
when RBBS-PC is looking for the file to be downloaded. The parameter is
specified with simply the letters, together. For example: BAC would search
Drive B, then Drive A, then Drive C. Use this parameter if you want to
search more than one drive.
If the files are not in the default directory then you need to use the
CONFIG parameter 205 and parameter 207. Parameter 205 specifies that you
want to sue DOS sub-directories and parameter 207 allows you to list them.
Use drive:\path format.
Both multiple directory .DIR files and the single FMS directory entry
formats are the same (see section 13.4) with the exception that the old
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 115 of 232
style separate directories need not be fixed length and don't include the
category code.
Any directory can be in the Single FMS format. This allows special purpose
directories to be put into FMS format so they can take advantage of such
features as resumable listings normally associated just with the Single FMS
environment. An unlimited number of lines of text can be added to any
description (see CONFIG parameter 40, parameter 148, and parameter 153).
The file directories have absolutely no bearing on what is in the
subdirectory. A file can be listed but not exist, and a file, such as one
uploaded with the / for SYSOP option, may exist but not be entered. The
file directories are simply methods to get the caller a listing of the
files available.
13.2 The Single FMS Directory Format
------------------------------------
FMS logically just lumps all the old style separate directories into one
directory file, called the MASTER or FMS directory, and assigning each file
a CATEGORY CODE, which may correspond to the directory it was in in the
original directories. A utility program called CNVDIR.EXE will do exactly
this: combine the separate directories and add the category code at the
end. If you do not already have separate directories, simply set it up
with a text editor using the columns indicated.
13.3 Advantages and Disadvantages of FMS Over Multiple Directories
-------------------------------------------------------------------
Having a single FMS directory has the following advantages:
1. Callers get the newest files listed first. The directory can be
displayed EITHER from top to bottom or bottom to top. Reading from
bottom up is appropriate when files are in date order and new files are
appended to the bottom. When files are alphabetized or grouped some
other way, it is more appropriate to read them from the top down.
2. The directory is listed with MORE ([Y],N) or files to download prompts
throughout the listing, so at any time the caller may begin
downloading, and pick up where they left off in the listing after the
download is completed.
3. Wildcard searchs on filenames are supported as well as exact matches on
strings in the file S)earch command. Whenever a wild card character (*
and ?) is specified in the search string, RBBS-PC will automatically
shift to matching just the file name. Exact string matches search the
full entry rather than just the file name. String searches include
extended descriptions for FMS directories, but in non-FMS directories
only the first line of the file description is searched.
4. Classification of files is easy. All that is necessary is an editor
that produces ASCII files, and a file is classified by a category code
of up to 3 characters. To change a file from directory to directory,
all that is necessary is to change the category code. No more "erase it
here and add it there."
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 116 of 232
5. No SYSOP maintenance is necessary for new uploads. The caller can
classify the upload with a category code, and the SYSOP can specify
that the new uploads become instantly available.
6. Complex classifications can be made very simply. A category code is not
necessarily the category the caller must type in. The SYSOP can elect
to have a classification system where one code that the caller types in
will list several different category codes. You can include the file in
two directories without having two separate entries.
7. FMS directories can have "headers" (i.e. free text lines not associated
with any particular file). This allows things like column headers or
help to be included, as well as section headers. A SYSOP may wish to
separate a "communications directory" into different sections such as
one for QMODEM and one for RBBS-PC. A free text line begins with "*"
and is universally displayed if the category code is "***" otherwise it
is only displayed when the category associated with the line is
selected.
8. Multi-line descriptions (i.e. "extended" descriptions) are supported in
both FMS and "old-style" directories. All columns except the first one
are available for the description. For FMS directories extended
descriptions have the same characteristics as the file that they are
associated with.
9. The ability to enter "extended" descriptions for uploaded files is
based on the caller's security level (see CONFIG parameter 127).
10. Caller's can list the RBBS-PC file directories with or without extended
description. As an example, a caller would enter the command "L -
UPLOADS" to list the files in the directory UPLOADS with only one line
descriptions. The command "L + UPLOADS" would list the same file with
extended descriptions.
11. ARC files can be viewed with the V)iew command when listing FMS
directories and the listing will resume where it left off prior to
issuing the V)iew command.
12. Individual entries within a FMS directory can be restricted to specific
security levels.
13. Comment lines can be included in FMS directories which are never shown
to a caller. Often such comments are useful reminders to the SYSOP who
is maintaining the FMS directories.
14. Callers can add upload descriptions without actually uploading a file
(see CONFIG parameter 153). This is typically useful to the SYSOP. It
makes it easy to start an FMS upload directory without having to know
anything about its internals or how to use an editor. With the
exception of a CORVUS network environment, FMS directories can be
updated without taking the system down first. All the caller does is
issue the normal upload command. If RBBS-PC finds that the file
already exists and that the caller has the necessary security level,
RBBS-PC will get the file size and proceed exactly as if the file had
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 117 of 232
just been uploaded.
15. Searches for new files is EXTREMELY fast because RBBS-PC does not have
to search all directories if the single FMS directory is in date order
(most recent date last)
16. Latest uploads are always shown first, if the SYSOP has elected to make
them viewable and the master FMS is in date order.
17. Searches for text will scan the text in the extended multi-line
descriptions.
18. Composite categories can be logically constructed out of other
categories (see section 13.5).
19. Entries do not have to be physically moved to other .DIR files to be
classified as belonging to it.
However, the FMS directory also has two remaining limitations which may
make it unsuitable for all SYSOPs needs.
1. Some multi-user environments, such as Corvus's OMNINET, will not allow
files that change in length to be shared. In such an environment FMS
can be used, but the FMS directory cannot be the upload directory.
2. The date must be in MM-DD-YY format. Any single digit number must have
a leading zero.
If FMS does not totally satisfy your needs, you can use both. RBBS-PC can
be configured to look for an old style directory if it does not find a
directory in the FMS. If it finds one it will display it. If it does not,
it displays the familiar "Directory XXX not found!" message.
13.4 Creating FMS Directories
------------------------------
If you already have separate directories, it would be a good idea to copy
all of them into a single one called MASTER.DIR. Detailed directions are
given in the documentation for CNVDIR. In DOS this can be done like this:
COPY xxx.DIR+xxx.DIR+xxx.DIR... MASTER.DIR
where xxx is the name of the old style directories. The 3 dots mean to
continue until you have all of the directories you wish to include in the
FMS directory.
In addition to the "old style" file directories described in section 13.1,
RBBS-PC supports two types of FMS "directories" -- multiple, single-subject
FMS directories or a single multiple-subject master FMS directory. If
there are going to be multiple, single-subject FMS directories, there must
also be a "directory of directories" (i.e. a master directory) whose name
is specified in CONFIG parameter 211 and there can not be more than 99 of
these single-subject FMS directories. If there is going to be a single
FMS directory, it's name is specified in CONFIG parameter 214 and it's
qualifier is specified in CONFIG parameter 209.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 118 of 232
An example of multiple FMS directories that assumes the following:
CONFIG parameter 220 is "C:\FMS",
CONFIG parameter 209 is "DIR",
CONFIG parameter 211 is "DIR", and the following files existed:
C:\FMS\DIR.DIR
C:\FMS\ALPHA.DIR
C:\FMS\BEST.DIR
The file ALPHA.DIR can be a FMS directory with an alphabetical list of all
files and BEST.DIR can be a FMS directory with a date-ordered (latest date
last) list of the "best" files.
An FMS directory can have an optional "header" line that describes the
structure of the directory. RBBS-PC searches FMS directories from bottom
to top by default (i.e. the assumption is that they are sorted by date with
the newest entry at the bottom). To make an FMS directory read from top to
bottom, the directory must have the optional "header" line as the first
line. For FMS to read a FMS directory from top to bottom the first four
characters in the first line must be "\FMS" and the line must contained the
three characters "TOP" (i.e. the whole fixed-length line would read "\FMS
TOP"). For FMS directories not sorted by date, the word "NOSORT" must be
present in the first line (i.e. the whole line would read "\FMS TOP
NOSORT"). The file ALPHA.DIR would have the first line in the file read
"\FMS TOP NOSORT". The file BEST.DIR would have the first line in the file
read "\FMS TOP" if all searches of the file were to start with the oldest
(i.e. first) entry. It is important to realize that FMS directories must
have a fixed length in every line.
The columns of all FMS directories are set up as:
Column Purpose
1-13 Filename + description
14-22 File size
24-31 Date in MM-DD-YY format
34- Description + category code
To add comments to an FMS directory and not have them shown to the caller,
simply begin the comment line with a slash, "\".
To force a line to be displayed that is not associated with an FMS
directory entry, begin the line with an asterisk and, if it is displayed
for only specific categories, the appropriate category restriction.
To make an FMS entry visible only to callers with a specific security level
or higher, the first character of the file name must be an equal sign, "=".
For this entry, the file name is in columns 2 through 13. The minimum
security to view this entry goes in column 34 and is followed by a blank
and then the description and category code within the columns appropriate
for them (based on CONFIG parameter 219).
CONFIG parameter 219 specifies the length of the "description" field (40 to
46). The column contain the "category" codes can be variable as follows:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 119 of 232
Length Columns for description Category code column
40 34-73 74-76
41 34-74 75-77
42 34-75 76-78
43 34-76 77-79
44 34-77 78-80
45 34-78 79-81
46 34-79 80-82
However, some text editors may have a problem with lines 80 or more
columns.
The fussiest areas for use with FMS are the DATE and CATEGORY CODE fields.
These two must be absolutely perfect for FMS to function properly. The
others may be slightly more lenient. In order to get the directory in the
correct format, insert and delete spaces before and after the column. The
file name should not have interior or leading blanks.
You must also add a category code to each listing. This is often the most
difficult and time consuming part of setting up FMS. A good idea is to
format the rest of the directory before you add the codes.
CONFIG has a utility, parameter 187, that will check your FMS directory
structure for you.
If a caller uploads with a "/" for SYSOP, a *** is placed for the category
code and only those with a SYSOP security level may view the listing (see
CONFIG parameter 125).
13.5 Defining the FMS Category Codes
------------------------------------
In order for FMS to work correctly, the category codes must be defined.
This is done in a file specified in parameter 217 of CONFIG. This file is
rather interesting in the way it is set up and the possibilities it brings
up. The format of this file is, with each line being a separate entry:
"<Category name>","<Category codes>","<Category description>"
The category name is what the caller types in in L;xxxxxxxxxx. The
category codes are a list of the character codes in the FMS directory that
we want to be under this category name. Category codes can be 1 to 3
characters long, though the simplest and most foolproof method is to make
them all exactly 3 characters long. The category description is a short
messages that we want displayed when the category is searched for.
If the category codes are less than 3 characters in length, blanks must be
added to the right to fill out the length to exactly 3 when putting the
category codes on the end of file entry.
A listing can contain several category codes. This means that a category
name of BASIC could have the category codes BSU,BSG,BSS in it. The
category codes may be overlapped in several different directories. For
example, the BASIC directory used as an example could also have each code
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 120 of 232
included in another directory. UTILS could contain DSU,BSU,PRU (Dos utils,
Basic Utils, Printer utils). GAMES could contain CGG,BSG,TXG (Color
Graphics Games, Basic Games, Text games). BASIC could contain BSU,BSG,BSS
(Basic Utils, Basic Games, Basic Source). SOURCE could contain ACS,BSS,PSS
(Assembly code source, Basic Source, Pascal source) Such a setup would
look like this:
"UTILS","DSU,BSU,PRU","Utilities for IBM"
"GAMES","CGG,BSG,TXG","Games for IBM"
"BASIC","BSU,BSG,BSS","BASIC programs"
"SOURCE","ACS,BSS,PSS","Source code for different languages"
The directory might look like:
FFIND.ARC 13463 05-24-87 DOS Util look all over disk for file DSU
WINDOWS.ARC 14562 05-27-87 BASIC Util-Window subroutines, pop up BSU
BUZOFF.ARC 15324 05-27-87 Turn off printer buzzer on printer PRU
QUEST.ARC 17325 06-02-87 C/G Game D&D style CGG
FFINDSRC.ARC 20358 06-02-87 Source for FFIND.ARC ACS
RBBS-SRC.ARC 202562 06-05-87 Source code for RBBS-PC BSS
QMODEMSC.ARC 106735 06-07-87 Source code for QMODEM SST PSS
BALLOON.ARC 5634 06-08-87 BASIC Balloon game- GREAT BSG
STARTREK.ARC 76434 06-10-87 A great game- TEXT TXG
When someone lists out GAMES, they get QUEST, BALLOON, and STARTREK.
You can also have simply a one to one correspondence, rather than cross
referencing by just having one category code for each category.
A utility that will help you in setting up your FMS directory is a SYSOP
function built into CONFIG. Parameter 187 will test the structure of your
FMS directory and diagnose any problems. Be sure to run this utility after
you have tried to set up FMS, or whenever you edit the FMS directory file.
13.6 The "Library" Subsystem, CD-ROM, and FMS
---------------------------------------------
The RBBS-PC "library" sub-system is highly flexible subsystem that utilizes
DOS 'disk subdirectories. The "library" subsystem is not limited to any
particular medium. Basically, it relies on three files:
CDR.CDR - This is the Directory of Directories just like DIR.DIR is the
Directory of Directories for the normal download area. This file is
located on the drive and path designated in CONFIG parameter 302, has a
file name equal to the extension designated in parameter 303 , and the
extension designated in parameter 303.
MASTER.CDR - This is an FMS style directory. Highly recommended to have a
size of 46 to allow for placing the DISK/AREA number in the last four
positions of description. This file is located on the drive and path
designated in CONFIG parameter 302. The following is an example of a
master directory file, C:MASTER.CDR, that might be used for the
"library" subsystem.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 121 of 232
DEMO.DTA 9841 01-01-80 PRACTICE FORM 680126
READ.ME 256 01-01-80 INTRODUCTORY TEXT FILE 673102
READ.ME 109 01-01-80 INTRODUCTORY TEXT FILE 671102
DK0680 ARC 10-23-87 FORGE VERSION 2.0 200
DK0673 ARC 10-23-87 FREEWAY ...(Disk 3 of 3) 200
DK0671 ARC 10-23-87 FREEWAY ... (Disk 1 of 3) 200
| | | | | |
+- 1->13 | | | | |
File Name +- 14->22 | | | |
File Size | | | |
+- 24->31| | |
File Date| | |
+- 33->76 | |
File Description | |
77->79 -+ |
DOS |
Directory |
Number |
|
80->82 -+
Category
Code
The last four characters of the 46-character file description field are
used to indicate the "library" pseudo-disk that the file is in. In
this way, when a caller lists files, it is self-evident in the
description which DOS subdirectory the caller must change to within the
"library" subsystem in order to download the file.
RBBS-CDR.DEF - This is the key file to the successful operation of the
LIBRARY section. It consists of three fields on each line.
"AAAA","BBBBBBBBBBBBBBBBBBBBBB","CCCCCCCCCCCCCCCCCC"cr/lf
A - A four position field numbered from 0001 to 9999.
This is the DISK/AREA number assigned to a specific
group of files.
B - This field has no size limit and is a full path to the
area excluding the drive: designation. As an example:
\1_100\DISK0001
\GAMES\ADVENTUR\DISK1
\A_F\ALPHABET\DISK01\AREA36
C - This field has no length limit but should be kept at
around 56 characters to keep from line wrap on the
display. It should contain the TITLE of the
disk/area.
A file containing a description of the library subsystem's category
codes must have the name RBBS-CDR.DEF, be in the same DOS subdirectory
as the other RBBS-PC ".DEF" files, and look similar:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 122 of 232
"0671","\601-700\DISK671","FREEWAY Payroll system (Disk 1 of 3)"
"0673","\601-700\DISK673","FREEWAY Payroll system (Disk 3 of 3)"
"0680","\601-700\DISK680","FORGE VERSION 2.0"
The "library" subsystem can be supported without using the FMS. To do this
each "directory" would have ".CDR" as it's extension (i.e. GAMES.CDR) -- or
whatever extension was designated in CONFIG parameter 303.
Typically, the "library" subsystem is used with FMS. When using FMS with
the "library" subsystem it is necessary to add categories to the DIR.CAT
file. One approach that works well is utilizing categories 1-99 for the
normal (i.e. non-library area) downloads and categories 100-200 for the
"library" downloads.
The basic assumption of RBBS-PC's "library" sub-system is that files are
stored in DOS subdirectories on the DOS disk drive specified in CONFIG
parameter 301.
13.6.1 How the "Library" Subsystem Works
----------------------------------------
Before it is possible to download from the LIBRARY area it is mandatory
that the caller C)hange to the desired library disk. This is accomplished
by using the C)hange command from the library menu. RBBS-PC will accept
any 1 to 4 digit number (padding the front with zeros to make it a four
digit number). RBBS-PC will then search the RBBS-CDR.DEF file (position
AAAA only) for an exact match. If no match is found then RBBS-PC indicates
that no Library disk has been selected. If a match is found then RBBS-PC
will issue a CHDIR command to the drive specified in CONFIG parameter 301
and the path BBBBBBBB that it constructs from the RBBS-CDR.DEF file. RBBS-
PC then informs the caller that Disk AAAA CCCCCCCCCCCC has been selected
(i.e. "Disk 0680 FORGE VERSION 2.0").
The caller can download individual files from the area selected or A)rchive
all the files in the selected area. If the caller decides to A)rchive all
the files in the selected area, RBBS-PC will SHELL to the Archive program
designated in CONFIG parameter 313 and located in the drive and path
designated by parameter 312. RBBS-PC creates an ARC file with the
name DKAAAA.ARC, where AAAA is the disk/area number on the drive and path
indicated by CONFIG parameter 304.
RBBS-PC will then check to see if there are any subdirectories within the
selected area. If any exist then RBBS-PC will again Archive the
subdirectories and will create ARC files with the name DKAAAAa.ARC where
AAAA is the disk/area number. The designator, "a", is an arbitrary id to
differentiate it from the original ARC name. If there are more than one
subdirectories then the "a" would be replaced by "b", "c", "d", etc.
When this is complete the caller is told what files are ready for download.
i.e.
DKAAAA.ARC is ready for download.
DKAAAAa.ARC is ready for download.
DKAAAAb.arc is read for download.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 123 of 232
As each file is downloaded successfully it is removed from the list and
is no longer displayed to the user as ready for download.
13.6.2 The "Library" Subsystem and PC-SIG's CD-ROM
--------------------------------------------------
The CD-ROM published by PC-SIG consists of a DOS subdirectory for each 360K
diskette in the PC-SIG library. Sometimes the disk contains all the files
already in the ARC format other times they just contain a group of files.
The key here is the A)rchive function. The resulting file to be made
available for download will NEVER be greater than 360k. This is important
since a caller may only have a floppy based system and could not capture a
file any larger than a 360k floppy can contain.
The PC-SIG's CD-ROM creates the problem of listing both the individual
files contained on each diskette as well as a summary description of the
individual disks. This can be solved by listing each of the 18,000+ files
in the MASTER.CDR using positions 43-76 for the description, positions 77-
79 for the disk drive, and positions 80-82 for the valid categories for
downloading. These are contained in the file specified by CONFIG parameter
217.
MASTER.CDR might also contain a list of names of the files that would be
created by the A)rchive function. This allows the caller to scan a
category (i.e. category 200) for disk titles only. Note that the files do
not exist until the user uses the A)rchive function. A SYSOP who did not
wish to allow individual file downloads might only include these entries in
the MASTER.CDR rather than the other 18,000 entries.
The directory for the PC-SIG CD-ROM is over 1.5 megabytes in length and can
take up to 10 minutes to search completely (when using a PC at 4.77mhz).
If the SYSOP is using FMS, it is recommended that the category file for the
normal FMS directory and the category file for the Library FMS directory be
the same (PC-SIG has 27 different categories for its files).
13.7 Creating the Personal Files Directory
------------------------------------------
RBBS-PC's "personal" file support is analogous to RBBS-PC's support of
"personal" messages in that these files are specially addressed to a
specific caller or group of callers based on security. Personal file
downloads differ from the general download in three major ways:
1. the time limit check is bypassed in personal downloads, meaning
that a qualifying caller can download a file regardless of time
left.
2. only files explicitly listed in the personal directory can be
downloaded. Normally files to be downloaded will be looked for on
the disk(s) where files are available for downloading whether they
are listed in a directory or not.
3. only callers with matching user record or sufficient security can
download a file. Normally any caller with security enough to
issue the download command can download a file.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 124 of 232
Personal files provide a way that files can be delivered to specific
individuals. As an example, a vendor's support bulletin board for a
software product might make the upgrade downloadable only by paying
customers. A credit reporting corporation can make credit reports
electronically available only to the people who order them. Or, a SYSOP
can make a file privately available to only one caller.
One of the most useful applications for personal downloads is to make
certain files available regardless of time remaining. Previously, SYSOPs
had to increase the security of callers or set artificially high session
limits just to make certain large files available. By putting these file
names in the personal directory and limited by security level, these files
can be made available regardless of how little time is left. For example,
the large files comprising RBBS-PC can be made downloadable to all callers
even though they are limited to 30 minutes.
Access to personal files can be limited in two ways. First, the files can
be downloaded only by callers which have a matching value in their user
record. For example, files can be limited by name (any field in the user
record can be selected). Alternatively files can be limited by security
level, meaning that a file can be downloaded by any person with that
security level or higher. File access based on security level can also be
accomplished using the standard RBBS-PC file security mechanism, but to do
so places the caller's under the standard RBBS-PC constraints of maximum
time per session/day.
Using the "P)ersonal files" command in the files section, a caller is asked
what files the caller wants to download. The only files available to the
caller for downloading are those explicitly listed as belonging to the
caller, unlike the general download command which will look for any named
file on the disk. The caller can ask to List the files available. Callers
will see only those belonging to them.
There is a special option to download all and only the "new" files
specifically addressed to the user by matching a field in the caller's user
record. RBBS-PC keeps track of whether the caller has ever downloaded the
personal file. When listing, new personal files are marked with an "*" in
front of their names (they are "tagged"). Selecting the new files starts a
multi-file download for all and only the personal files the caller has
never successfully downloaded.
File you want downloaded ONLY through the personal file features of RBBS-PC
should be put in their own subdirectory as specified in CONFIG parameter
142. If you put the personal files in a download subdirectory but they
would be available then to anyone who could name them. RBBS-PC will search
the download areas for a personal file if it is not found in the
subdirectory specified in parameter 142.
Second, in the same place as the personal files themselves, put in a
special personal directory with name specified in CONFIG parameter 143.
This directory is the same format as the general file directories of RBBS-
PC. The format is as follows:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 125 of 232
Default Field
Positions Length Description of Field
1 - 12 12 The first 12 characters of an entry have the file
name, with no internal spaces.
13 - 73 Variable The next group of characters can have anything in
them. This will be displayed to the caller who asks
for a listing, along with the file name in the first
12 columns. The length of this group is 21 characters
plus the length of the upload description specified in
CONFIG (40-46, defaults to 40). The default length of
this field is 61 characters.
74 -104 Variable The next group of characters are what is used to
identify the file as "belonging" to the caller and
must match a field in the user record. In CONFIG
parameter 43 and parameter 44, the SYSOP specifies the
position in the user record to use and how many
characters. The default is to begin in column 1 and
use 31 characters for the caller's name, but any field
in the user record can be used. Optionally, a security
can be entered in this last field to limit the file
based on the security level of the caller. To use
security rather than a match on the user record,
simply put a blank as the first character in the
field, followed by the security level.
105 1 The last character must be an "*" to signify that the
file has never been download or an exclamation point
if ever downloaded.
This personal directory works very much like the File Management System
shared directory, using a field in the user record as the category and
limiting callers to their one category, or limiting the file to the group
of caller's with the minimum required security. The personal directory is
fixed length and read in reverse from bottom to top.
After setting up or modifying the personal directory, you use the CONFIG
utility parameter 187 to check whether the personal directory has the
proper format.
The personal directory can be created by a text editor (i.e. EDLIN) but be
sure to put in the "*" in the last column when creating a new entry so that
the file will be tagged as new. Also be sure to make each entry fixed
length. If the user's identity does not fill out the length of the last
field, be sure to pad the record with blanks out to the full length.
When setting up a personal file directory there are seven configuration
options peculiar to personal files:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 126 of 232
CONFIG Description
parameter 43 and what part of the user record used to identify files as
parameter 44 belonging to the user (beginning column and length),
parameter 143 the name of the personal directory,
parameter 142 the drive and path where the personal files and personal
directory are stored,
parameter 144 the protocol that must be used downloading,
parameter 147 whether the files downloaded are to be concatenated, and
parameter 188 the CONFIG utility to check the structure of the personal
directory to make sure it is in the properly format.
Parameter 147 and parameter 187 require some explanation of how they might
be used. Limiting the caller to a required protocol to use is not
something one would generally do. But, for special purpose downloads, like
downloading to a printer, one might want to require ASCII, for example.
Or, if all callers are to use the same communications package or only a
particular protocol is efficient, you can specify what callers must use.
Concatenating files means that when multiple files are specified for
downloading, the files are sent continuously in one stream of data rather
than individually as separate files. In effect, the files are physically
combined at the time of downloading. All messages between files are
suppressed - the only messages that appear to the caller are those that
normally occur when the first file transfer starts and when the last file
transfer ends. Concatenation is currently supported only for ASCII
downloads.
An example of a situation that might use this feature of RBBS-PC is a
business that generates short reports for clients. Their clients want to
call in remotely to get time-critical reports and print them right in their
office on pre-formatted paper. Each report is a separate file on RBBS-PC
with all the necessary printer commands already included in each file.
A SYSOP might set up RBBS-PC such that the main menu was restructured to
make the P)ersonal files function be P)rint reports to reflect the more
specialized nature of the board. Callers to this board would call in,
identify themselves, and select P)rint reports from the main menu. Callers
could use L)ist to see what is available if they are looking for some
report in particular; just select all new reports; or ask for a particular
report if they must have it immediately.
In the last two cases, RBBS-PC would notify the caller to set up to receive
and press [ENTER] when ready. The pre-formatted reports with embedded
printer control sequences would stream out onto the paper (including
formatting like bold or underline) positioning the text to fit in boxes.
The paper is automatically advanced as needed. When done, RBBS-PC beeps
the user, who then turns the "save to printer" feature off of whatever
communications package is being used.
To set up this application, the personal file options would be configured
to use the caller's id (e.g. account number). The files and directory
would be put in a special subdirectory not shared with anything else. The
CONFIG parameters would be set to specify that caller's must use ASCII
("A") as their protocol and that multi-file downloads will be concatenated.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 127 of 232
Another example is that of an electronic job placement service that wanted
to limit non-subscribers to a security level 5 with 10 minutes. However,
they also want non-subscribes to be able to download a file of potential
employment opportunities that may take more than 10 minutes. The following
entries would be put into PRIV.DIR:
JOBSFORU.ARC 282888 07-14-87 List of job opportunities you might want 5
/|\ /|\
12 74
Each record is padded with blanks so that 29 blank characters follow the
security level, followed by an '*'. The '*' is not shown in this
documentation since it is in a column too far to the right.
14. SETTING UP ".BAT" FILES FOR RBBS-PC
-----------------------------------------
Many SYSOPs have set up batch files to invoke RBBS-PC automatically and to
re-invoke RBBS-PC should there be a power outage. These files range from
the simple to the sublime in terms of complexity. In a multiple RBBS-PC
environment, these .BAT files CANNOT BE SHARED. If you are going to exit
RBBS-PC and transfer control to DOS remotely (either via the SYSOP function
7 or via "doors"), it is necessary that:
1. RBBS-PC be executed from a batch file.
2. The batch file which is executing RBBS-PC contain an "IF"
statement that checks for the existence of the batch file which
RBBS-PC dynamically builds when either "doors" or SYSOP function 7
is invoked.
3. Within the "IF" statement, the logic exists such that the batch
file dynamically built by RBBS-PC for the "doors" functions or
SYSOP function 7 will be invoked if it exists.
As a very simple example, let us assume that:
1. the batch file that invokes RBBS-PC is named A:RBBS.BAT, and that
is what was entered for parameter 104 of CONFIG,
2. the name of the batch file that RBBS-PC will build dynamically for
either "doors" or SYSOP function 7 is A:RCTTY.BAT, and that is
what was entered for parameter 103 and
3. the compiled version of RBBS-PC is being executed and is named
RBBS-PC.EXE and is on the default disk drive.
4. you have elected to use the watchdog utility program.
5. COM1 was designated as the communication port to be used by RBBS-PC.
6. the CALLERS file is on drive A.
Then A:RBBS.BAT (in a non-MultiLink environment) would contain the
following:
IF EXIST A:RBBSxF1.DEF DEL A:RBBSxF1.DEF
IF EXIST A:RCTTY.BAT DEL A:RCTTY.BAT
RBBS-PC x filename (see note of values available for "x" and "filename")
IF EXIST A:RBBSxF1.DEF GOTO EXIT
IF EXIST A:RCTTY.BAT A:RCTTY.BAT
A:RBBS.BAT
:EXIT
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 128 of 232
NOTE: When running RBBS-PC.EXE, RBBS-PC will check for the "x" in the
command line that invoked RBBS-PC. The "x" on the execute line is
extremely important to the correct operation of RBBS-PC. If you are
running in a local area network environment then the "x" should be a
number between "1" and "0" or a letter between "A" and "Z". If "x" is
omitted from the command line, RBBS-PC will look for a file named RBBS-
PC.DEF. RBBS-PC uses the parameter in the command line to
determine the correct RBBSxPC.DEF file to use for its configuration
parameters if the second parameter is not present. If the second
parameter is present, then RBBS-PC assumes this is the fully qualified
file name for the .DEF file that this node should use.
15. THE USE OF RBBS-PC "DOORS"
-------------------------------
The RBBS-PC "door" concept is that of allowing a SYSOP to set up a "door"
through which users can exit from RBBS-PC and enter other applications. In
previous versions of RBBS-PC (i.e. prior to CPC12-3A) this had been called
"windows" but because of the confusion this created with the WINDOWing
concepts of other software, it has been re-labeled "doors".
RBBS-PC's "doors" are nothing more than .BAT files that the SYSOP has
created to allow users to exit from RBBS-PC and enter other
applications (i.e. databases, etc.). The SYSOP is responsible for writing
the .BAT files that users will be allowed to invoke. Assuming that RBBS-
PC is brought up by DOS via an AUTOEXEC file that invokes RBBS.BAT, a door
called EDIT exists that consists of a .BAT file (EDIT.BAT) which contains
the commands CTTY, EDLIN, and RBBS.BAT. In order to exit RBBS-PC (either
for a "door" or for the remote SYSOP function 7) without the code that the
BASIC compiler generates for you dropping the remote user, it is necessary
for the compiler that RBBS-PC is compiled under be "patched" as described
in Appendix T otherwise the user will be disconnected upon returning to
RBBS-PC. Here is pictorially what happens:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 129 of 232
DOS
|
\|/
AUTOEXEC.BAT
|
\|/
RBBS.BAT <---------------------------------+
\|/ |
+--------->RBBS-PC.EXE |
| |
\|/ |
"RUN" |
| |
| |
+<-------------ends |
| |
RBBS.BAT |
| |
\|/ |
RCTTY.BAT<-----invokes door called "EDIT" |
| |
\|/ |
EDIT.BAT |
| |
+--------->EDLIN.COM |
| |
| |
EDIT.BAT <--------ends |
| |
\|/ |
RBBS.BAT |
\|/ |
+--------->RBBS-PC.EXE |
| |
| |
welcome back from |
door and RBBS-PC ------------>|
continues
A sample .BAT file for a program called TEST.EXE that assumes:
1. That you are going to be using COM1.
2. That the program "TEST.EXE" is on the default drive.
3. That the batch file to invoke RBBS-PC is called "RBBS.BAT."
4. The the batch file "RBBS.BAT" is on the default drive.
Would look like this using the CTTY METHOD:
CTTY COM1
TEST.EXE
CTTY CON
RBBS.BAT
The first command, "CTTY COM1", assigns most standard input and output to
the communications port number 1. The second command, "TEST.EXE", invokes
some test program that you write that reads from and writes to the standard
input and output devices (i.e. the keyboard and the screen). The third
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 130 of 232
command, "CTTY CON", reassigns the standard input and output back to the
local PC's keyboard and screen whenever TEST.EXE ends. The fourth command
simply invokes another batch file named RBBS.BAT (which presumably invokes
RBBS-PC).
Would look like this using the REDIRECT I/O METHOD:
COMMAND /C TEST.EXE <COM1 >COM1
RBBS.BAT
The first command, "COMMAND /C TEST.EXE <COM1 >COM1", starts a secondary
command processor, loads TEST.EXE and assigns most standard input and
output to the communications port number 1. "Most" is the key word here
since PC-DOS does not have a way of redirecting "STANDARD ERROR" like it
does for "STANDARD IN and STANDARD OUT". To solve this problem STDERR.COM
is included as part of the basic RBBS-PC system. This program was provided
by Quarterdeck Systems. Run "STDERR.COM" one time only before you start
RBBS-PC. I suggest that you include it in your AUTOEXEC.BAT file. This
program works with all versions of PC-DOS 2.0 through 3.2.
Would look like this using the DEVICE DRIVER METHOD:
CTTY GATE1
TEST.EXE
RBBS.BAT
The first command, "CTTY GATE1", assigns most standard input and output to
the device drive named "gateway". Since it is a device driver it must
exist in your CONFIG.SYS. The second command, "TEST.EXE", invokes some
test program that you write that reads from and writes to the standard
input and output devices (i.e. the keyboard and the screen). The third
command, "CTTY CON", reassigns the standard input and output back to the
local PC's keyboard and screen whenever TEST.EXE ends. The fourth command
simply invokes another batch file named RBBS.BAT (which presumably invokes
RBBS-PC).
To first set up and test a door, DO NOT USE RBBS-PC. Rather set up with
1. your modem on auto-answer (i.e. it answers the phone)
2. a .BAT file that redirects all input and output to the communications
port that you are going to use using the IBM DOS CTTY command.
3. make sure the .BAT file invokes the program that you want to use as
a "door."
4. invoke the .BAT file that you set up in steps 2 and 3.
5. dial up the modem that you set in auto-answer mode in step 1.
6. get your "door" to work in this environment.
If you have problems with steps 1 through 6, call your friendly IBM support
or the vendor of the software that you want to use as a door and ask them
to teach you about either their software or the CTTY command and their
software's compatibility with the CTTY command.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 131 of 232
AFTER YOU HAVE YOUR DOOR WORKING, to set up a "door" for RBBS-PC, you must
1. list the name of the door (i.e. the .BAT file which you already
got working and debugged and are responsible for setting up) in MENU5.
2. indicate that doors are available (via CONFIG's parameter 101).
When a user invokes the D>oor command, RBBS-PC will:
1. List MENU5,
2. Check that the door that the user selects was specified in MENU5,
3. Check that the .BAT file exists (on the default drive),
4. Dynamically create a .BAT file with the name specified
by the SYSOP in parameter 103 of CONFIG that:
a. invokes the .BAT file of the window specified,and
b. re-invokes RBBS-PC after the user EXITS from the
"door" by invoking the .BAT file that the SYSOP
specified in parameter 104 of CONFIG.
The purpose of "doors" is to allow for the "horizontal" growth of RBBS-
PC. Clearly RBBS-PC has about all that IBM's BASIC compiler can handle.
In order to not limit the application of RBBS-PC either to BASIC or the
current compiler, "doors" was chosen as a mechanism to allow SYSOPs to
make available other features (i.e. databases, games, etc.). Hopefully
with RBBS-PC as a base, the limitations on doors will only be the SYSOP's
resourcefulness AND IBM'S DISK OPERATING SYSTEM (see Appendix W)!
The design of the .BAT file that is to be used as a "door" is critical
and is the responsibility of the SYSOP. At the very minimum it should
handle the communication port I/O. This can be done in a very primitive
way using the DOS CTTY command as described in section 15.
When the file RCTTY.BAT is executed, it executes another batch file with
the name of that particular door. DOS does not return to the RCTTY.BAT.
So, at the end of your doors batch file, you must reinvoke RBBS.BAT.
The way that "doors" works is to check to see if the door name specified is
in MENU5. If it is in all capital letters in the RBBS-PC file MENU5, it
runs the batch file of that name with the extension ".BAT".
In general, the program invoked as a "door" has to do is print everything
to the communications port and if you wish, echo it to the screen. The
initial part of any "door" should read in the parameters passed to the
"door" in the "node" record and establish the communications parameter
appropriately.
Finally, if the preceding discussion of "doors" is a complete mystery to
you, contact a SYSOP of an RBBS-PC that is using "doors" and ask for help.
CHESSDOR is one of the more professional "doors" that has been shared with
me. It was written by Bob Westcott and his data number is (603) 424-5497.
You may also want to talk to John Morris via his RBBS-PC data number (702)
673-3387 regarding "doors", as he has had extensive experience with them.
While I don't suppose it needs to be mentioned, if you call Bob and take up
their time learning about "doors" for personal gain (i.e. you are a
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 132 of 232
consultant or some company's employee being paid to write a "door") have
the courtesy to tell them. The "user helping user" concept does NOT imply
that anyone should be taken advantage. Bob (or anyone else who has
acquired specialized knowledge) has the right to be remunerated for their
efforts if their knowledge is being used to further commercial purposes and
they request it.
The "door" concept stretches IBM's DOS' capabilities and requires an
extraordinary knowledge of how both DOS, the DOS CTTY command, and .BAT
files work.
16. THE SECURITY FEATURES OF RBBS-PC
--------------------------------------
RBBS-PC has always been an open system designed for public use. A SYSOP
should always ASSUME that EVERY FILE ON THE PC running RBBS-PC CAN BE
DOWNLOADED AND/OR DESTROYED. However, RBBS-PC has extensive
safeguards that systematically enhance security and privacy. For
example, RBBS-PC has the logic within it's code to prohibit anyone
(including the SYSOP) from downloading the RBBS-PC "system" files described
in section 5.1. RBBS-PC can still be run as a wide-open system, but
the SYSOP has many additional options to restrain access. These
security options make RBBS-PC much more suitable for private and business
use.
RBBS-PC's security is controlled by three things:
1. the system configuration file (RBBS-PC.DEF),
2. the two external security files for
a. passwords (PASSWRDS), and
b. file downloads (FILESEC), and
3. the users file (USERS) in which each user has an assigned
security level.
The users file is controlled by the SYSOP user maintenance function 5
as described in section 17. To change a specific users security level you
select the M>odify option and then the S>ecurity option. This allows you
to set the security level for a user. Users cannot set their own security
levels. Section 16.3 describes how to implement special passwords that
provide special privileges to the groups that issue them. Section 16.4
describes how specific files, groups of files, or even whole disk volumes
can have download security levels associated with them.
16.1 RBBS-PC's Security Features
--------------------------------
Each user has an assigned security level. This is an integer in the
range -32,000 to +32,000. There are then over 65,000 possible security
levels. Each command in RBBS-PC also has a security level assigned to
it. Security assignments are controlled by the SYSOP. To use a
command, the caller's security level must be at least as high as the
command's security level.
The SYSOP can assign a file or group of files both a security level and a
password. To download a file, a caller must have a security level at
least as high as the file's and be able to give the file's password (if one
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 133 of 232
is present). All users must pass these security tests, including
anyone with SYSOP privileges.
Messages can now be assigned a password by their creator. Then only
persons who are able to give that password can read or kill the message.
Messages with password protection will show <PROTECTED> when scanned.
Callers have no way of distinguishing messages to private individuals
and to groups except by how they are addressed. Persons with SYSOP
privileges can read all messages. Section 16.2's description of sending a
message to an AUTHORS SIG as an addressee with the password of AUTHORONLY
shows how to send a message to a special group.
Security violations are logged to the CALLERS file. These include
attempting to use functions without sufficient security clearance, and
failure to give required passwords.
RBBS-PC's default configuration is that of an "open" system.
RBBS-PC's security system provides the SYSOP with several choices on how to
run RBBS-PC. The chief ones are as follows:
1. Change the bulletin board from an open system available to all callers,
to a pre-registered system available only to specified users. To
support this option, there is a function in the SYSOPs user
maintenance option 5 to ADD users.
2. A SYSOP can set up different "classes" of users by assigning different
security levels to different users. Concurrently the SYSOP would have
to assign different security levels to different commands. For
example new callers might be permitted only to leave a comment,
read bulletins, and list files that can be downloaded. Or there
might be a group of files assigned a security level that only
members of a special interest group can download.
3. The SYSOP can segregate the functions of the bulletin board into
different groups based on a password. A specific file or group of
files can be downloadable only to those who knew the password.
Similarly, messages can be made open to everyone knowing the password
but closed to everyone else. This way there can be semi-private
portions of the bulletin board.
16.2 Examples of Uses for RBBS-PC's Security System
---------------------------------------------------
Some examples of how a SYSOP can tailor RBBS-PC using RBBS-PC's extensive
security features follow.
SPECIAL INTEREST GROUPS -- A special interest group (SIG) in a users group
wishes to run a RBBS-PC for both the general public and its own use.
An example would be an authors SIG for persons interested in publishing
books and articles or developing commercial software. A definite need
would exist to be able to address messages to everyone in the SIG without
making them open to every caller. The SIG would establish the
convention to password protect general SIG messages with the password
AUTHORONLY, and to address them to AUTHORS SIG.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 134 of 232
Another example would be a bulletin board devoted to the exchange of
software. Allowing persons to use the message subsystem would only
interfere with the primary purpose of the bulletin board. Therefore the
SYSOP removes from the menu the functions for leaving and reading
messages. To prevent a person from using the functions to leave or read a
message (even though they are not displayed), the SYSOP assigns these
functions a security level higher than a person who logs on normally would
be assigned.
Another example of using RBBS-PC's security system would be to set up an
agreed upon temporary password such that when a user logs onto the system
they can issue the password and get longer than normally allowed. If the
time for normal users is 30 minutes, the SYSOP can set up the special
password SOFTEXCHANGE, with a maximum time on of 150 minutes instead
of the normal 30. By shifting over to this special password after
logging in, members can get extra time if they need it.
SOFTWARE SUPPORT -- An author of a freeware program offers RBBS-PC support
to all persons who register their copies and send a contribution of,
say, $35 per copy. The registered user can get answers for problems and
download free updates and sample applications. The author wants
anyone to be able to call just to find out about the service. New
callers get a security level of 2 automatically assigned to them. This
allows them to use only the message subsystem. The file subsystem is
assigned a security level of 7. Contributors are added by the SYSOP
with a security level of 7 and a pre-assigned password. Except for SYSOP
functions, registered users have free reign in the RBBS-PC.
CLIENT SUPPORT -- A SYSOP on a public RBBS-PC also works as a
management consultant. She has several associates who work with her on
projects. She needs to be able to send and receive messages from her
associates which the general public should not see. So they agree on
a message password NOTPUBLIC. To support her different clients she also
needs to leave private files for downloading. To each client she
assigns a special downloading password. To restrict downloading to
just that client, file names are put in the file security file with the
appropriate password. Only persons with the password can then download
them.
PRIVILEGED ELECTRONIC MAIL -- A company uses RBBS-PC to help support its
regional offices. Only regional vice-presidents should be able to download
certain management reports. In file security these reports are assigned a
high security level of 9, which only managers get.
16.3 How to Implement the Password File
---------------------------------------
CONFIG allows the SYSOP to designate the name of the file containing the
privileged group passwords to RBBS-PC. Since this file is a normal ASCII
file, the SYSOP can use any text editor to create and update the
file. Put the information for each password on a single line and
separate the fields with commas. It is important to note that EACH record
of the password must contain ELEVEN parameters (i.e. TEN commas). For
the password file, the format is:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 135 of 232
parm1,parm2,parm3,parm4,parm5,parm6,parm7,,parm8,parm9,parm10,parm11
where:
parm1 -- password that this line applies to
parm2 -- level> security level for password, if any, or if no password,
then security level this line applies to
parm3 -- maximum time in minutes for a single session
parm4 -- maximum time in minutes per day
parm5 -- number of days in the subscription period
parm6 -- start time, in format HHMM 24 hour style, parameters apply
parm7 -- end time, in format HHMM 24 hour style, parameters apply
The start/end time are limits on all other parameters: meaning that
they apply only during the specified times. Specifying no
start/end times means that the rest applies all day.
parm8 -- the type of ratio method to use. This should be one of the
following:
'0' - meaning use the files uploaded to files downloaded ratio
'1' - meaning use the bytes uploaded to bytes downloaded ratio
'2' - meaning use the files per day restriction
'3' - meaning use the bytes per day restriction
NOTE:
FIRST TIME CALLERS MUST UPLOAD AT LEAST ONE FILE (BYTE)
BEFORE DOWNLOADING UNLESS THEY ARE:
EXEMPT FROM THE RATIO REQUIREMENTS,
ARE USING THE DAILY RATIO METHOD, OR
AN INITIAL UPLOAD CREDIT HAS BEEN GRANTED.
THE INITIAL CREDIT FIELD IS IGNORED FOR METHODS 2 AND 3.
parm9 -- the ratio field. This must be any number greater than zero where
'0' means this security level is exempt from a ratio requirement.
A positive integer, such as 15, placed in this parameter requires
that the caller maintain a ratio of a least 1 file (or byte)
uploaded for every 15 files (or bytes) downloaded. The ratio of
uploads to downloads can be cumulative over multiple days or it
can be limited to the current day's activities of the caller.
parm10 - the initial credit field. This can be any positive integer
including zero. The use of ratio methods 2 and 3 in conjunction
with this field can restrict the number of files (or bytes) that
can be downloaded by an individual or group of callers per day.
parm11 - the elapsed time (in seconds) that a caller must wait after
logging on before "doors"or file downloading (either, neither, or
both) are permitted to the caller. See the description of CONFIG
parameter 155 in section 11.8 for a fuller description of how this
RBBS-PC option functions.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 136 of 232
Here are some examples of how the PASSWRDS file might be used:
Contents of PASSWRDS File Explanation
,5,50,,,0001,0600,,,, Security level 5 gets 50 session minutes
,5,25,,,,,,,, between 00:01 AM and 6 AM, and 25 minutes
otherwise.
,7,50,70,730,,,,,, Security level 7 has a subscription period
of 2 years and a session limit of 50
minutes, and a daily limit of 70 minutes.
BIGTIME,6,52,,,,,,,, Temporary password BIGTIME gets 52 minutes
per session and a security of 6.
EXTEND,5,120,,9999,,,,,, Temporary password EXTEND gets 120 minutes
for the current session (the user's elapsed
time per day would still remain whatever
was set in CONFIG parameter 8), a temporary
security level of 5, and a subscription
period of 9,999 days.
,7,128,256,,,,,,,120 Users who log on with a security level of 7
are automatically granted 128 minutes on
the system for each session, 256 minutes
total for each day (independent of what was
set in parameter 8 of CONFIG), and their
subscription period remains unchanged from
whatever it was before, but they must wait
120 seconds before being able to exit to a
"door" or download a file.
SKIPRATIO,170,120,200,90,0600,1200,0,0,,
Temporary password 'SKIPRATIO' grants the
caller a security level of 170, a session
limit of 120 minutes, a daily time limit of
200 minutes, a 90 day subscription period,
during the hours of 6AM until noon with no
ratio limits.
,140,60,60,365,0001,2400,1,10,, Users with a security level 140, have a
session limit of 60 minutes, a daily limit
of 60 minutes, a one-year subscription, but
during any hour of the day they must
maintain a ratio of 1 byte uploaded for
every 10 bytes downloaded. There is no
initial upload credit. Therefore, an upload
must take place before a download.
,150,70,,90,,,0,15,2,3600 Users with a security level of 150, have a
session limit of 70 minutes, a 90 day
subscription, must maintain a ratio of 1
file uploaded for every 15 downloaded. An
initial credit of 2 files are granted to
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 137 of 232
Contents of PASSWRDS File Explanation
all new/existing users. However, they can
not exit to a "door" or download a file for
one hour (3,600 seconds).
,165,90,,120,,,0,30,, Users with a security level of 165, have a
session limit of 90 minutes, a 120 day
subscription, must maintain a ratio of 1
file uploaded for every 30 downloaded. No
initial upload credit is granted.
,170,120,,365,,,2,10,, Users with a security level of 170 have a
session limit of 120 minutes, a one-year
subscription limitations, but can only
download 10 files per day.
,200,360,,730,,,3,250000,, Users with a security level of 200 have a
session limit of 360 minutes, a two-year
subscription, but can only download 250000
bytes per day.
If you are using COPY CON to create this file you "MUST" press F6 followed
by a Ctrl/Z at the end of the last entry prior to pressing carriage return.
16.4 How to Implement the Security for Download Files
------------------------------------------------------
CONFIG allows the SYSOP to designate the name of the file containing the
passwords and security levels that can be used to restrict downloads of
specific files, volumes, or files names meeting certain "wildcard"
criteria. This file contains file names with download restrictions in the
format:
<filename>, <security level>,<password>
Note: Each line is a record and ends with carriage-return line-feed. The
only optional field is the password field for a filename. By leaving the
password field empty, no password is assigned to a file. The commas
between the fields are necessary. YOU MUST HAVE TWO COMMAS ON EACH LINE
even if you do not have a password associated with the file.
Some examples would be:
COMMAND.COM, 10,DOS
PAYROLL.DAT, 99,BANKRUPT
CALLGIRL.SEX,,ILLEGAL
\FINANCE\STOCKS,100,
The file COMMAND.COM could not be downloaded unless a user had a security
level equal to or greater than 10 AND could supply the password "DOS". The
file PAYROLL.DAT could not be downloaded unless a user had a security level
equal to or greater than 99 AND could supply the password "BANKRUPT". Any
user could download the file CALLGIRL.SEX if they could supply the
password "ILLEGAL". Any user with a security level of 100 or higher
could download the file STOCKS in the DOS subdirectory FINANCE without
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 138 of 232
supplying any password.
Additionally "wild-card" characters and drive designators can be used to
protect or restrict certain classes of files (by extension, by drive, etc.)
from being downloaded.
Some examples would be:
A:*.*,8,
E:*.SEC,2,PW1
A*.M*,0,GX3
XY?X.*,9,3XG
All files on drive A would require the users to have a security level of 8
in order for a user to download them. Any user who wanted to download a
file whose extension was ".SEC" and was found to be on drive E would have
to not only have a security level of at least 2 but to also give the
password PW1. The third entry above would require a user who wanted to
download any file on any drive with a prefix that began with "A" and an
extension that began with "M" to have a security level of at least 0 and to
enter the password GX3. Finally, the last entry above would require any
user who wanted to download any file on any drive whose four-letter name
began with "XY" and whose last letter was "X" with any extension to have a
security level of at least 9 and enter the password 3XG.
The wildcards "*" and "?" operate just like they do in DOS with one
exception. The "?" requires a character. In DOS the name "HAPPY"
satisfies the file specification "HAPPY?" but it does not in RBBS-PC.
To get exceptions to the general rule, just put the exceptions first.
RBBS-PC's file security search stops with the first applicable entry that
it encounters. For example,
1. if you want all files on the B drive to require the user to have a
security level of at least 3,
2. except that files on the B drive with the extension ".SEC" would
require the user to have a security level of at least 6, and,
3. regardless of the disk drive that they were on, any file beginning
with "MES" with an extension of ".SEC" would require the user to have
a security level of at least 12
you would enter the following into the file security file
MES*.SEC,12,
B:*.SEC,6,
B:*.*,3
Special Note: RBBS-PC is hard coded so that there are some files that
nobody can download -- not even the SYSOP. These are
RBBS-PC.DEF, users, messages, callers, group password,
comments, the file security, and backup files. Similarly
the batch files that control RBBS-PC and let the caller
exit to DOS 2 can not be downloaded. The default security
file provided with RBBS-PC is empty.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 139 of 232
16.5 How to Implement the Security for RBBS-PC Commands
--------------------------------------------------------
RBBS-PC allows each command to be assigned it's own security level. A user
who wishes to invoke an RBBS-PC command must have at least the same
security level as the command. Let's assume that a SYSOP wants to set up
the following classes of users:
Classification of Users Security Level
"Locked Out" Users 0
New Users (first time) 1
Normal Users 2
Users who can "view" a Conference 3
Users who can enter Messages 4
Users who can download files 5
Users who can upload files 6
Users who can Join a Conference 7
Users who can do some SYSOP commands (Jr. SYSOP's) 8
Users who can enter a "door" 9
Users who can enter all SYSOP commands (Co-SYSOP's) 10
The following table illustrates one method of assigning each RBBS-PC
command it's own security level:
Security Level
Subsystem/Command Assigned to Command
Messages Subsystem
A>nswer questionnaire............... 4
B>ulletins.......................... 1
C>omments........................... 1
D>oor subsystem..................... 9
E>enter message..................... 4
F>iles system....................... 1
I>nitial welcome.................... 1
J>oin a conference.................. 7
K>ill messages...................... 4
O>perator page...................... 1
P>ersonal mail...................... 2
R>ead messages...................... 2
S>can messages...................... 1
T>opic of messages.................. 1
U>tilities (more)................... 1
V>iew conference mail............... 3
W>ho's on other nodes................3
@>Library Sub-System.................1
Files Subsystem
D>ownload........................... 5
G>oodbye............................ 0
L>ist file directories.............. 4
N>ew files.......................... 5
P>ersonal downloads................. 5
S>earch directories for string ..... 1
U>pload a file...................... 1
V>erbose listing of ARC file........ 1
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 140 of 232
Utilities Subsystem
B>aud rate.......................... 1
C>lock (time of day)................ 1
E>cho selection..................... 1
F>ile transfer protocol............. 1
G>raphics........................... 1
L>ength of page..................... 1
M>essage Margin..................... 1
P>assword change.................... 1
R>eview preferences................. 0
S>tatistics of system............... 1
T>oggle (line feeds, etc.).......... 1
U>serlog............................ 2
Library Subsystem
A>rchive a Library disk..............5
C>hange a Library disk...............5
D>ownload........................... 5
G>oodbye............................ 0
L>ist file directories.............. 4
S>earch directories for string ..... 1
V>erbose listing of ARC file........ 1
GLOBAL commands
?>What can be done.................. 1
H>elp with a command................ 1
Q>uit to another subsystem or exit.. 1
X>Expert/novice toggle.............. 1
SYSOP Subsystem
1>List comments..................... 8
2>List callers log..................10
3>Recover a Message................. 8
4>Erase comments.................... 9
5>USERS maintenance.................10
6>Toggle page bell.................. 8
7>Exit to DOS 2.x or above.......... 9
16.6 Beware of the "Trojan Horse!"
-----------------------------------
Despite RBBS-PC's security always remember that you should always assume:
"EVERY FILE ON THE PC RUNNING RBBS-PC CAN
BE DOWNLOADED, MODIFIED, AND/OR DESTROYED!"
RBBS-PC's security system appears to be so fool-proof that some individuals
have resorted to uploading programs that appear to do one thing, but
actually do something else. These "trojan horse" programs search all the
disks that are connected to the PC that the program is running on for such
RBBS-PC files as RBBS-PC.DEF or USERS. The program then copies these files
to an innocuously named file that can be downloaded later when the person
who uploaded it logs onto the system again. Since RBBS-PC.DEF contains the
pseudonym that the SYSOP can use to logon on remotely as the SYSOP, once
the user downloads a copy of it the user can then log on as the SYSOP and
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 141 of 232
do just about anything including exiting to DOS and formatting all the
disks on the system. Similarly, the USERS file contains passwords and the
security levels of everyone on your RBBS-PC -- some of whom may have SYSOP
privileges.
You can protect yourself against anyone logging on as you, the SYSOP, by
not allowing anyone to logon as the SYSOP remotely. To do this read
section 11 regarding parameter 121. You can protect yourself against
unauthorized access of the USERS file by simply not allowing any user to
have SYSOP privileges.
Of course there is the "trojan horse" program that doesn't even bother with
the above, but simply destroys all the disk files on all the disks that are
connected to the PC that is running the program. See the rest of section
22 to see how you can protect yourself against such programs.
17. SYSOP FUNCTIONS
--------------------
The SYSOP functions are not available to the general user. They consist of
numeric commands 1-7 for SYSOPs that sign-on remotely as well as some of
the keys on the keyboard attached to the PC that is running RBBS-PC when
the SYSOP signs on "locally" by pressing the "Esc" key. When on "locally",
the SYSOP should not use some of the user functions that depend on the
person invoking them being remote (i.e. file transfers, changing baud rate
to 450 baud, etc.). To enter the SYSOP mode locally press the ESC key
on the PC that is running RBBS-PC itself and enter the special pseudonym
you assigned yourself as the first and last name in order to log on as
the primary SYSOP from a remote terminal.
17.1 SYSOP Commands Within RBBS-PC
----------------------------------
The following operations can then be performed by entering a number only at
the command prompt:
1 - Type COMMENTS file. The contents of the COMMENTS file is displayed.
This file can also be inspected using a TYPE command from DOS. It is a
ASCII sequential text file.
2 - Type CALLERS file. A log is maintained of all persons who have called
the system. This function will list the file showing the users name and
the date and time signed on as well as the names of the files they
upload/downloads along with any security violation or errors encountered.
This is a random access file of 64-byte records.
3 - Resurrect a message. This function will return a message that has been
killed to an active state. If message file has been "packed", the
killed messages are no longer recoverable. The function will ask for the
message number of the message to be recovered.
4 - Erase the COMMENTS file. This function will erase the comments file by
killing the file. Since the file is opened "APPEND," a new comments file
will be created the next time a user leaves a comment.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 142 of 232
5 - USERS file maintenance. The users file contains entries for each user
registered with the system. This function permits the SYSOP to
A)dd -- add a user to the USERS file.
L)st -- list the USERS file.
P)rt -- print the USERS file on the printer.
M)od -- modify a record in the USERS file.
S)can - scan each record in the USERS file for a particular string.
In <M>odify mode, limiting editing of the users record in the USERS file
can be done. The following subfunctions are available:
D - Delete a user in the USERS file.
F - Find a user in the USERS file.
M - Return to the option 5 function prompt.
N - Give the user a new password.
P - Toggle the printer flag to print entries on the printer.
Q - Quit and return to the main message prompt.
R - Reset the users graphic mode.
S - Set the security level of the user. This can be used to lockout or
grant special privileges to the user.
# - locate any record number within the USERS file.
In <M>odify mode a record will be displayed followed by a subfunction
prompt for action. To get to a specific record the record number can be
entered at the prompt and if valid that record will be displayed. If the
record number is invalid or an empty c/r is entered then the next record in
the file will be displayed.
6 - Toggles the operator page bell on/off. This overrides the "office
hours" specified in the RBBS-PC.DEF file.
7 - SYSOP drop to DOS as a remote user. If the SYSOP has logged on
remotely and is running RBBS-PC under DOS 2.0 or greater, this
function will dynamically setup a batch file to assign the SYSOP terminal
as the main console. It then returns to DOS and if
a. RBBS-PC was invoked via a batch file, and if
b. that batch file checks for the batch file which RBBS-PC
dynamically builds for SYSOP function 7, and if
c. the batch file that invokes RBBS-PC executes the batch file that
RBBS-PC dynamically builds for SYSOP function 7,
the SYSOP will then see the DOS prompt at the remote terminal and can
execute whatever DOS commands or programs the CTTY command support. DOS
will look for COMMAND.COM to be present on the disk drive you specified in
parameter 105. SYSOP function 7, unlike "doors," loads in a copy of
COMMAND.COM to run under the copy that was running RBBS-PC. Also be sure
to read Appendix W and make sure that you THOROUGHLY understands the
limitations that DOS places on you when this option is invoked.
Two areas of caution are advised when using SYSOP function 7 under
DOS 2.0 or above. First, each SYSOP should test what can be done
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 143 of 232
remotely. Software that reads and writes directly to the video BIOS and
does other things that bypass the standard input and output of DOS
simply won't function correctly. Second, you should be aware that
you are in DOS and can return to RBBS-PC only by issuing the EXIT
command. This will return to the batch file that was built dynamically
by RBBS-PC. This file will then continue executing and is designed to
reassign the keyboard as the console and then re-invoke RBBS-PC. If
you get disconnected while in DOS, your system will be locked up. The
console will be assigned to your communication port and your Hayes modem
will have dropped the line and will have been set not to auto-answer.
The only way to re-boot the system is a manual power off/on sequence.
17.2 SYSOP Use of Function Keys and Numeric Pad
-----------------------------------------------
The following function keys (ten keys on the left side of a standard
IBM keyboard) are designed to give the SYSOP special local controls
that can be actuated without entering the SYSOP mode (using the ESC
entry key). The current status of the function keys F3, F4, F6 and F7 are
displayed on line 25.
F1 - Return to DOS. This will terminate a session if a caller is on-line.
In a MultiLink environment when running RBBS-PC out of .BAT file that re-
invokes itself it is difficult for a SYSOP to get out of RBBS-PC and exit
to DOS locally using F1. To help, RBBS-PC now creates a special file on
the same location as the CALLERS file called RBBSxF1.DEF (where "x" is the
node ID -- RBBS6F1.DEF for node six). The .BAT file that would otherwise
just re-invoke itself, can now check for the existence of this file and if
it finds it simply terminate itself.
F2 - SHELL to DOS. RBBS-PC remains resident but suspended in memory, the
user (if any) remains on-line and the local SYSOP is in DOS until the EXIT
command is issued (returning to within RBBS-PC just prior to having pressed
the F2 key). The users session is not terminated -- only suspended.
F3 - Printer toggle on/off. This changes the printer on-line status. When
on-line the printer will print each caller's name and the
file names uploaded/downloaded. It will also print all error
messages except the ERROR 68 used to check that a file exists. This
function should match the condition of the printer. If the printer is
going to be left off, the PRINTER toggle should be set to off. When
the printer toggle is on, "LPT" will be displayed in positions 8-11 of line
25.
F4 - Operator page toggle. This changes the status of "operator annoy"
(i.e. allows the SYSOP to be pageable) and records the change in the
"node" record associated with the copy of RBBS-PC associated with function
key 4. This is set by the CONFIG program parameter 7 which establishes
the SYSOP's office hours. This can be used to override and extend the
"office hours" set up by CONFIG.BAS. When the "operator annoy" toggle is
on, "ANY" will be displayed in positions 5-7 of line 25.
F5 - Forces RBBS-PC to tell the modem to answer the phone.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 144 of 232
F6 - SYSOP available. This changes the status of operator available and
records the change in the "node" record associated with the copy of RBBS-
PC associated with function key 6. This is useful if during your "office
hours" you temporarily don't wish to be disturbed. When the SYSOP
available toggle is on, "AVL" will be displayed in positions 1-3 of line
25.
F7 - SYSOP gets control of the system after current user logs off. When
the "SYSOP next" toggle is on, "SYS" will be displayed in positions 13-15
of line 25.
F8 - Allows the SYSOP to grant an on-line user temporary SYSOP privileges.
This is a toggle on/off switch.
F9 - SNOOP toggle. This changes the SNOOP from the default value the first
time it is pressed and toggles it on/off thereafter. "SNOOP off" clears
the screen and turns the cursor off. It also keeps the download beeps
from sounding. The SNOOP should be left off for normal use to keep the
system startup screen from "burning into" the monitor. If the SNOOP is
left on, the monitor should be physically turned off except when you are
observing RBBS-PC in action. Leaving the monitor off will not affect
performance of RBBS-PC.
F10 - This is the forced chat switch. It announces your forced chat and
who you are before turning the keyboard over to you and the caller. The
ESC key is used to exit Forced chat mode or to answer an "O>perator page"
request. The F10 key will not function until a user logging on has reached
the Main Menu.
END - Logs off and locks out the current user that is on and informs the
user that their presence is unacceptable.
PgUp - Displays all the information on a current user. This display is
kept in the video page 1 (of the 0-7 pages). The user activity is always
written to page 0 when SNOOP is active. The user sees no interruption when
this occurs as his activity continues unaffected. If you have a monochrome
display there is no video pages 1 through 7 only page 0. This will display
on the monochrome screen the user information.
PgDn - Return to displaying video page 0 (i.e. the page that the users
activity is written to when SNOOP is on).
LEFT ARROW -- Subtracts one minute to the user's current session time.
Ctrl/Left Arrow subtracts five minutes to the user's current session time.
RIGHT ARROW -- Adds one minute from the user's current session time.
Ctrl/Right Arrow adds five minutes to the user's current session time.
UP ARROW -- The keyboard "up arrow" key (i.e. one that generates the
character with ASCII value 24 and which is the "8" key on the standard IBM
keyboard's numeric pad that is at the right of the keyboard) allows the
local SYSOP to increment an on-line users security level by one each time
that it is pressed. Control-up-arrow will increase the security in
increments of 5.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 145 of 232
DOWN ARROW -- The keyboard "down arrow" key (i.e. one that generates the
character with ASCII value 25 and which is the "2" key on the standard IBM
keyboard's numeric pad that is at the right of the keyboard) allows the
local SYSOP to decrement an on-line users security level by one each time
that it is pressed. Control-down-arrow will decrease the security in
increments of 5.
Some keyboards do not recognize the Control-Up or Control-Down. To
accommodate this, the Control-PgUP and Control-PgDn can be used instead.
The SYSOP can also enter commands on the command prompt line while a caller
is on-line. The command entered will cause the system to respond just as
it would if the caller had entered the command. This should be used with
caution because it could confuse a new system user -- users are often timid
enough without knowing that big brother is actually watching them! Let
callers page you and then tell them that you can assist with commands if
the get into trouble.
18. MESSAGE AREAS WITHIN RBBS-PC
----------------------------------
RBBS-PC is intended to be an open system. As such it can have an unlimited
number of message areas and messages. At the very minimum, RBBS-PC has a
single
1.) message area, a file named MESSAGES,
2.) user file, a file named USERS, and
3.) definition file, a file named RBBS-PC.DEF
In addition to this, additional messages areas can be created as either
"conferences" (i.e. areas that use the same RBBS-PC.DEF file as the main
RBBS-PC message area) or "sub-boards" (i.e. areas that have their own .DEF
file).
18.1 The Differences Between "Conferences" and "Sub-boards"
-----------------------------------------------------------
A "conference" or "sub-board" can be:
1.) "public" -- any caller can join.
2.) "public with a separate user file" -- any caller can join and
RBBS-PC remembers the last message read by each caller.
3.) "semi-public" -- only callers with specific security levels equal
to or greater than that specified for the conference
can join.
4.) "semi-public with a separate user file" -- only callers with
specific security levels equal to or greater than that
specified for the conference can join and RBBS-PC
remembers the last message read by each caller.
5.) "private with a separate user file" -- only callers who have
been pre-registered in the separate user file for
the conference can join and RBBS-PC remembers the last
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 146 of 232
message read by each caller.
A "sub-board" is just a conference that also has a configuration definition
file (.DEF). Sub-boards can be public, private, or semi-private. Access
to a sub-board is controlled by the configuration parameter 123 which sets
the minimum security level required to enter the "sub-board." A "sub-
board" configuration file has the same format as the RBBS-PC main
configuration file, and is created and edited using CONFIG.EXE. This
allows a "sub-board" to have its own unique welcome file, commands,
security levels, menus, help, bulletins, directories, and up and download
areas. "Sub-boards" can share as much or as little as desired with other
conferences or other "sub-boards" within the same RBBS-PC system. The only
things a "sub-board" cannot change are the primary MESSAGES file and the
communications parameters used by the RBBS-PC it is running under.
To the caller, a "sub-board" appears just like another bulletin board,
accessed from a bulletin board rather than through a telephone number.
Public sub-boards, just like public boards, are those whose minimum
security to join is not higher than the default security for new users.
"Sub-boards" basically allow a single telephone number to offer very
different types and levels of services. Independent "sub-boards" run under
the same RBBS-PC service radically different types of terminals/PC's.
Within the same RBBS-PC, one "sub-board" may have 80 column menus for IBM
and compatible PC callers, another may have 40 column menus for Atari and
Commodore PC users, and still another may have 20 column menus for those
using telecommunications devices for the deaf (TDD's). No longer is it
necessary to provide three independent telephone numbers for three such
different services. All callers can dial the same number and simply switch
over to the appropriate board. Extra lines can be added to a roll-over and
service all the boards. "Sub-boards" make it much easier and feasible for
a SYSOP to market bulletin board services by allowing hardware to resources
to be pooled under one software "umbrella" such as RBBS-PC and yet service
a very diverse set of requirements -- much the same way that Compuserve
does. One of the best hardware configurations for running a multi-board
service like this is PC-Slaves, because adding additional boards are
extremely easy, with virtually no system degradation.
"Sub-boards" greatly benefit "umbrella" organizations. For example, a
computer club that covers IBM computers, Apple, Atari, and Commodore. No
longer does software intended for one type of computer have to get mixed in
with listings for another computer. Each computer can have not only
separate messages, but bulletins and directories as well.
"Sub-boards" make it easy to have different "levels" of service based on
security level. Many SYSOPs run both a "free" and a "subscription" board.
The most typical arrangement for this is to have the free board be on the
bottom of a telephone roll-over and the pay board be on the top, and for
the top board to require a higher security level. Non-subscribers who call
the pay board number get "kicked" off the board. "Sub-boards" on the same
telephone line would give both paying and non-paying callers equal access,
if desired. Another example is that callers with enhanced security can
join a sub-board to get access to even more downloads. Or, executive
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 147 of 232
officers for an organization can have access to a "sub-board" that has not
only special messages but special bulletins and files.
The naming conventions of the files associated with a "conference" or "sub-
board", for example called CLONES, would be:
CLONESM.DEF --- the message file
CLONESU.DEF --- the user file
CLONESW.DEF --- the "welcome" file (for conferences only)
CLONESC.DEF --- the configuration file (for "sub-boards" only)
Using the configuration .DEF file associated with a "sub-board" allows each
SYSOP to make the "sub-boards" as unique or similar as desired. Two
security levels are very important. The minimum security to log on to the
board determines who can join the "sub-board". And the default security
level is what newly added callers are assigned.
A "sub-board", like any conference (public, semi-private, or private) is
closed to all who have insufficient security. To make a "sub-board"
completely private, simply set the minimum CONFIG parameter 123 (the
minimum security level a new user needs to logon) to be higher than any
normal caller would have. The only way for callers to be able to join a
completely private "sub-board", like a private conference is for the SYSOP
to have added them previously to the users file associated with that "sub-
board".
The security level a caller gets when auto-added is the default security
level for the "sub-board" and not the current security level of the caller.
This is to prevent special privileges that a caller has in one "sub-board"
from automatically propagating into other "sub-boards". For example, a
caller with SYSOP privileges in one "sub-board" who joins another does not
become receive SYSOP privileges in the other.
The security level used to determine what "sub-boards" a caller can join is
not the current security level but the original security level the caller
had on the main board.
RBBS-PC detects if the bulletins in the "sub-board" are the same as in the
main RBBS-PC system and does not re-display them when a "sub-board" is
joined.
"Sub-boards", public conferences, semi-private conferences, and private
conferences can all co-exist within the same RBBS-PC system. Sub-boards in
turn can have sub-boards in them, as well as public, semi-private, and
private conferences.
The primary disadvantage of "conferences" or "sub-boards" that have
separate user files associated with them is the additional disk space that
is required for the users file.
RBBS-PC's CONFIG parameter 290 allows the SYSOP to let a user on as a
"guest" if there is no more room left in the users file for the "sub-
board", semi-private conference, or private conference. Not having a user
record defeats one of the main mechanisms for remembering a user's
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 148 of 232
preferences, of course, but the SYSOP can start with a smaller users file
and expand later without the risk of denying callers access.
Obviously, "sub-boards" take more time to set up and maintain. While it is
nice to be able to have parts of RBBS-PC vary radically from one another,
every one that does vary is another item to create and maintain. "Sub-
boards" can multiply the work necessary, for example, to maintain
bulletins. There are more users and message files to oversee. However,
Kim Wells MU-EDIT is an invaluable tool for managing multiple message and
user files. Give Kim's RBBS-PC call at (703) 350-1299 and get a copy of
MU-EDIT.
18.2 How to Make a "Conference" or "Sub-board" Successful
---------------------------------------------------------
To make a "conference" or "sub-board" successful several guidelines should
be followed rather rigorously:
1. Establish a "conference" or "sub-board" chairman (i.e. a SYSOP) to
manage the conference. The SYSOP's job is to add new users, delete old
ones, make sure that the subject and/or the agenda of the conference is
adhered to by killing messages that are inappropriate. This is best
accomplished by having a separate user file for each "conference" or "sub-
board" in which the caller only has SYSOP privileges when in the specific
"conference" or "sub-board."
2. Establish an "agenda" or list of subject areas for the "conference" or
"sub-board." One of these should be about new subject areas. These areas
should be VERY narrow in scope. The essence of any good conference is
keeping it focused. Everyone has been in at least one meeting/conference
that was a waste of time because whoever was running the meeting/conference
did not keep the dialogue centered on the subject or agenda.
3. If a continuity of dialogue is to be achieved, it is advisable to keep
the conference "focused" -- either by keeping the number of conference
members limited to thirty persons or less or by keeping the subject matter
very narrow (i.e. the IBM PC's 30MB disk size limitation). Another
interesting thing about "private" conferences and sub-boards as implemented
within RBBS-PC is that they are not "public" and, therefore, are even more
protected by the first, fourth, and fifth amendments.
18.3 How to Set Up a "Conference" or "Sub-board"
------------------------------------------------
The SYSOP sets up a "conference" using the CONFIG utility parameter 167 to
pre-format up to two files -- one for the messages to be associated with
the conference and one for the users to be associated with a conference (if
it is a "private" conference). The file name for a "conference" can be any
seven characters that are valid for a file name. The eighth character must
be a "M" (for the messages file associated the conference) or a "U" (for
the users file associated with the conference). The SYSOP can then enter
the conference member's names in the conference USERS file by using the
SYSOP function 5. The SYSOP can "join" any conference and need not be in
any particular conference's USERS file.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 149 of 232
Like "conferences", RBBS-PC supports an unlimited number of "sub-boards".
"Sub-boards" are equally easy to create. If CLONES where the name of a
public conference (the CLONES message file CLONESM.DEF exists), all that
would have to be done to make CLONES a "sub-board" would be to run CONFIG
to
1.) create a separate user's file, CLONESU.DEF, for this formerly
public conference (if didn't already have a users file),
2.) create a "sub-board" configuration file for the CLONES
"sub-board" (a file whose name would be ATARIC.DEF).
The easiest way to make a "sub-board" configuration file is to use the DOS
copy command, starting with another configuration file as a model (e.g. the
one for the main board). To continue with the CLONES example you would
issue the DOS command:
COPY RBBS-PC.DEF CLONESC.DEF
Then invoke CONFIG.EXE to edit that file, using the form
CONFIG CLONESC.DEF
WARNING!! When you create a .DEF file by copying another one as a model,
be sure to run CONFIG against this new file and change the message and user
file names! Otherwise your sub-board will share the user file with another
message base. Here change the message file name to CLONESM.DEF and the
user file name to CLONESU.DEF. The users file name can be anything for a
"sub-board" but the extension .DEF is a good idea because RBBS-PC's
security system will not let any file with that extension be downloaded.
Remember, you do not want to allow callers to download any users file! You
get an extra layer of protection if you put the message, user, and
configuration files in an area not available for downloading.
18.4 How to Establish a "Conference" or "Sub-board" SYSOP
---------------------------------------------------------
To set up a conference or sub-board chairman, the SYSOP need only
1. "Join" the conference or sub-board,
2. Use SYSOP function 5 to enter the name of the user who is to
be the conference chairperson into the conference's USERS file.
3. Set that users security level in the conference's USERS file
to a security level that can issue the SYSOP function 5. This
will allow the conference chairman to add users.
Remember that users can join a "private" conference or sub-board only if
already registered in the USERS file associated with it. Any registered
user can join a "public" conference or sub-board. When someone issues the
J>oin command to join a conference or sub-board, their standard security
level is temporarily superseded by the security level associated with their
user name within that conference's or sub-board's USERS file if it is a
"private" conference.
For example, a normal user might be given the security required to add
users to a particular conference or sub-board USERS file since they are the
SYSOP of that message area. When a user joins the conference or sub-board
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 150 of 232
of which they are chairman, their normal security is bumped up so that they
can add users to the USERS file of that particular message area. When the
same user exits that message area, their security level is returned to
normal. If they should subsequently join another message area where they
are not chairman, they would be unable to add users to that message area's
USERS file. Other than a message area's SYSOP, none of the message area
members should be given any higher security than they otherwise enjoy as a
regular RBBS-PC user.
19. AUTOMATICALLY NOTIFYING CALLERS THAT THEY HAVE MAIL WAITING
---------------------------------------------------------------
RBBS-PC has the ability to notify callers about mail waiting for them when
they log on. Callers can be notified for any pair of user/message files
(a) how many new messages were left, and
(b) whether any new messages are to them personally.
RBBS-PC can be configured such that the messages individually reported by
number to the caller when the caller logs on are:
all messages (i.e. both old and new, or
just new messages since the caller last logged on, or
no messages
at all via CONFIG parameter 19. Of course, RBBS-PC allows the SYSOP to
determine if callers are reminded of the mail they have left.
In a file specified in CONFIG parameter 93 (the default is CONFMAIL.DEF),
the SYSOP can list the message/user file combinations to check for mail
waiting in the format
<user file>,<message file>
where these are related conference file names. If it is assumed that
RBBS-PC is running in a DOS subdirectory off of the main root directory of
the "C:" drive and that there are two conferences, RBBS-PC and BETA, then
an example of the contents of the CONFMAIL.DEF file is:
C:\RBBS\BETAU.DEF,C:\RBBS\BETAM.DEF
C:\RBBS\RBBS-PCU.DEF,C:\RBBS\RBBS-PCM.DEF
The names are processed exactly as typed, so inclusion of the drive/path is
necessary. The SYSOP controls what conferences get checked for mail by
listing these file pairs. Conferences not listed will not be checked.
Callers will get a report only for conferences that they are a member of.
Two items of information are reported:
number of new messages since last in the conference, and
whether any new messages are address to the caller.
The name used in RBBS-PC for the main message base is taken from the file
name for the message base. As with conferences - if the prefix of if the
user file ends with "M", the name will be the composed of all but the last
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 151 of 232
character. If the name is "MESSAGES", it will be called "MAIN". Otherwise
the main message base will be called the full prefix.
The main message base and users file can be included in the list to scan.
You may want to coordinate the USERS and MESSAGES file names in the same
fashion that conference user files and message file names are coordinated.
If the main message base is to be known as TOP then call it TOPM.DEF and
call the users TOPU.DEF. RBBS-PC will work as before with the default
names USERS and MESSAGES and call the main message base MAIN, but you
cannot include the main message base in the list of message bases to scan
for new mail. This is because the new mail scan keys off the user file
name, whereas the name of the main message base keys off of the message
file name. This constraint can be bypassed by naming the main message file
MAINM.DEF and it's corresponding user file MAINU.DEF. However, a good
reason to name the main message base something else is so that MAIN does
not name both the main command section and the main message base.
There are 3 philosophies that can be implemented on message reporting using
the CONFIG parameter 19:
1. Report everything.
2. Make a fast minimal report.
3. Make an optimum intermediate report.
Reporting everything means reminding callers of messages they left, and
give the messages numbers of old and new mail. To do this it is necessary
to set configuration parameters to remind callers of old mail and to report
ALL messages to caller. Also place "sub-boards" and private conferences in
the mail scan list of CONFMAIL.DEF.
Making a fast minimal report means that callers will not be reminded of
old messages, specific message numbers will not be list, only the number of
new messages and whether any are personal will be reported. This option is
for when you want people to get the caller to the command level as fast as
possible. For example, the main message base is not even used. To do
this set configuration parameters to NOT remind callers of old mail and to
report NO messages to caller. Put the main message base as well as
"sub-boards" and private conferences in the mail scan list of CONFMAIL.DEF.
Providing an optimum intermediate report means reporting individual message
numbers only for the new mail as well as # of new messages (and whether any
personal). The best way to implement this is to set the level of reporting
messages to the caller to New Only and to put all "sub-boards" and private
conferences in the mail scan list of CONFMAIL.DEF. Set CONFIG parameter 21
to NOT remind callers of old mail.
20. RBBS-PC QUESTIONNAIRE FACILITIES
-------------------------------------
RBBS-PC provides a highly sophisticated script-driven capability that
allows a SYSOP to ask new users questions or questions of users when they
say G>oodbye. To ask new users questions the file named in CONFIG
parameter 84 must exist. To ask questions of users when they say G>oodbye
the file named in CONFIG parameter 85 must exist. The SYSOP can set up
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 152 of 232
the script in such a way as to raise or lower a new users security level
based on the answers. Contained within the script is the file to which the
answers are to be written. RBBS-PC will only activate the corresponding
script files if they exist, otherwise the functions are bypassed.
The script files should be created with your favorite editor. During the
testing phases both EDLIN and WordStar were used and both worked correctly.
All "script" files are formatted the same and contain support for:
o Branch to labels
o Display lines
o Display line and get response
o Response validation (Multiple choice)
o Numeric validation
o Forward and backward branching
o Raising and lowering user security level
o Aborting the questionnaire
o Chaining to another questionnaire
The first line in every script file must contain the file name where the
responses to the script will be appended as the first parameter and the
maximum security level a users security level can be raised to as the
second parameter. This file can be any valid text type file. The rest of
each script file must contain valid script commands. Script commands are 1
character in length and must be in column 1 of each script line.
Following is a list and description of valid script commands:
: A colon indicates a label command
* An asterisk indicates a display data command
? A question mark indicates a display and wait for response command
= An equal sign indicates a multiple choice branch command
> A greater than symbol indicates a goto command
+ A plus sign indicates a raise security level command
- A minus sign indicates a lower security level command
@ An "at" sign means to abort questionnaire and do not write results
& An ampersand means to establish a questionnaire chain
: Colon (Label command)
This command is used to provide labels that can be branched to from =
and > commands.
i.e. :QUESTION1
* Asterisk (Display data command)
This command is used to send data to the user.
i.e. *In order to better serve those who pass this way, I would
? Question mark (Display data and get response)
This command is used to send data to the user and wait for a response.
The user will be required to input a response. The ENTER key alone is
an invalid response. No other checks are made.
i.e. ?DO YOU OWN YOUR OWN PC? (Y/N)
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 153 of 232
= Equal sign (Response validation - Multiple choice)
This command is used in conjunction with the ? command and must
immediately follow the ? command for which it applies. This command
allows for checking/editing of single character responses to the
preceding ? command and allows branch logic to be exercised based on
the response given. Multiple = commands must be coded on the same
line. The format follows:
=AXXXXXXXXX=BYYYYYYYYY= ZZZZZZZZZZ
= Indicates that a single character comparison value follows
A Is the comparison value
X Is the label to branch to if the response is "A"
= Indicates that a single character comparison value follows
B Is the comparison value
Y Is the label to branch to if the response is "B"
= Indicates that a single character comparison value follows
(SPACE) This is a special comparison value that is always used as the
last comparison value and means "INVALID" response given
Z Is the label to branch to if an invalid response is given
Maximum line length is 255 characters and the last = on the line "MUST"
have a comparison value of " " (SPACE).
i.e. :QUESTION1
?Do you run a BBS system. (Y/N)
=YQUESTION2=NQUESTION2= QUESTION1E
:QUESTION1E
*Please respond Y or N
>QUESTION1
:QUESTION2
There is an additional format for the = command, where the comparison
value of # (Pound sign) is used. This is used as a numeric check and
encompasses 0-9, (), - and space. This format requires two entries.
The first is to test for numerics and the second is the invalid response
branch label (i.e. =#QUESTION3= QUESTION2E).
> Greater than sign (Forward and backward branching)
This command is used to branch to specific labels within the script
file.
i.e. >QUESTION4
+ Plus sign (Raise user security level)
This command will add the value in columns 2-6 to the default security
level given new users or the current security level of old users.
i.e. +5
- Minus sign (Lower user security level)
This command will subtract the value in columns 2-6 to the default
security given new users or the current security level of old users.
i.e. -1
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 154 of 232
@ At sign (Abort questionnaire)
This command will terminate the questionnaire and NOT write the response
to the output file as in the following example.
. :QUESTION1
?Have you answered the questionnaire before. (Y/N)
=YQUESTION2=NQUESTION3= QUESTION1E
:QUESTION1E
*Please respond Y or N
>QUESTION1
:QUESTION2
@
:QUESTION3
& Ampersand (Chain questionnaire)
This command will establish the next questionnaire in the chain.
The file named in columns 2-80 will be used as a continuation to
the current questionnaire when the current questionnaire reaches its
last line.
i.e. &L:\RBBS\QUESCONT.DEF
21. RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS
------------------------------------------------------
RBBS-PC attempts to nurture the maximum amount of diversity and innovation
as possible. For this reason the source code has always been distributed.
The free exchange of information, on of RBBS-PC's two primary objectives
requires that communications occur. With PC's this communications is
electronic and electronic communications fosters a multiplicity of
"protocols" in which data can be exchanged.
A "protocol" for the exchange of files is just a set of cooperative
conventions that allow two different computer's software to transfer files
between themselves. RBBS-PC supports four "protocols" within its own BASIC
source code -- ASCII, Xmodem (checksum), Xmodem (CRC), and Ymodem. These
are totally configurable by the SYSOP when setting up RBBS-PC.
In addition to these four "protocols" and in order to provide advocates of
specific protocols a means of adding their particular flavor of
communications protocol to RBBS-PC, a standard interface has been created
so that "external" protocols can be installed in RBBS-PC. "External"
protocols are simply defined as programs outside of RBBS-PC which perform
the file transfer.
Before calling "external" protocol drivers, RBBS-PC will do the following:
1. verify that the file exists if the file is to be downloaded.
2. for uploads, verify that the file name requested is valid.
3. pass the communications port to the vendor's protocol-
handling routine with the file opened and carrier detect on.
RBBS-PC will call the external protocol drivers either via the SHELL
command in BASIC or via a .BAT file.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 155 of 232
21.1 Parameters passed to a protocol driver.
----------------------------------------------
RBBS-PC detects the installation of external file transfer protocols via an
optional RBBS-PC system file whose default name is PROTO.DEF. If no such
file exists, all and only internal protocols will be available -- Ascii,
Xmodem, XmodemCRC, Ymodem. This file may be used to rename or delete some
or all of RBBS-PC's internal protocols. If a PROTO.DEF file exists, all of
RBBS-PC's internal protocols must be specified in it as well. Internal
protocols are NOT automatically included when a PROTO.DEF file exists!
The protocol definition file has thirteen (13) parameters passed for each
external protocols defined for RBBS-PC. Each parameter can be on a
separate line of its own or all parameters can be on a single line (
separated by commas). The parameters passed for each protocol specified
are:
Parameter Description
1 Protocol Name
2 Security Level required to use protocol
3 Method to invoke protocol
4 Whether 8 bit connection required
5 Whether "reliable" connection required
6 Whether "batch" mode supported
7 Number of bytes in a block transferred
8 Indicate transfer always successful
9 Factor to estimate file transfer time
10 RBBS-PC "macro" to invoke before protocol
11 Method for checking transfer's success
12 Template to use for downloading
13 Template to use for uploading
Protocol Name -- The FIRST CHARACTER is the letter by which a caller
selects the protocol. The prompt for the selection of protocol
includes the protocol name. It is recommended that the second
character be ")" to resemble the rest of the prompts in RBBS-PC, e.g.
"Z)modem". RBBS-PC defaults to putting each protocol on the same line,
separated by a comma, until the line gets too long. Each SYSOP can
control the placement of the line by putting a carriage return line
feed at the end of the protocol name. If this is done, the entire
protocol name must be in parentheses. For example, instead of the
prompt
A)scii,X)modem,C)rcXmodem,Y)modem,N)one
a SYSOP may want the prompt to be
A)scii (text files only)
X)modem checksum
C)rc Xmodem
Y)modem (1K Xmodem)
N - None (cancel)
Then the protocol definition file , PROTO.DEF, should be constructed
using quotes (to include the carriage return/line feed in the first
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 156 of 232
parameter) as follows:
"A)scii (text files only)
",...
"X)modem checksum
",...
"C)rc Xmodem
",...
"Y)modem (1K Xmodem)
",...
"N - None (cancel)
",...
with the remaining 12 parameters put where "..." occurs.
Security Level -- This is the minimum security to be able to use the
protocol being described.
Method to Invoke Protocol -- A protocol can be invoked by one of three
methods:
shell,
door, or
internal (S, D, or I).
If "I" is specified, it must be immediately followed by a letter
specifying what internal protocol to use, where the choices are A, X,
C, Y, or N respectively for Ascii, Xmodem, Xmodem CRC, Ymodem, or None
(cancel transfer). "IC" would mean to use RBBS-PC's internal Xmodem
CRC. If no protocol is specified equivalent to the internal "None",
RBBS-PC will add it. If the letter N is used for a transfer protocol,
another protocol must be specified that is equivalent to "None".
Whether to Require 8 Bit -- By putting "8" in this parameter, the SYSOP is
specifying that the protocol requires the caller to be able to send or
receive 8 data bits. If 8 data bits is required and the caller is not
at 8 bit, RBBS-PC will prompt the caller to change to 8 bit in order to
use the protocol.
Whether A Reliable Connections Is Required -- By putting "R" in this
parameter, the SYSOP is specifying that the protocol will not be shown
or made available to the caller unless the connections is reliable
(i.e. such as Microcom's MNP protocol that is built into many modems).
Whether Support Batch -- By putting "B" in this parameter, the SYSOP is
indicating that "batch" file transfers are allowed with the protocol.
"Batch" means a multi-file download request will be processed together.
The receive function in Qmodem's "batch" Ymodem attempts to write the
file being received to the same letter drive and path name as it is
stored on the sending PC. Because it is unlikely that the PC running
RBBS-PC will have the same disk letters and path names as the callers,
it is recommended that QMODEM's "batch" Ymodem not be used for
receiving files via "batch" Ymodem (use DSZ's instead). RBBS-PC enters
an external protocol only once to do multiple file downloads. RBBS-PC
has been tested with such "batch" protocols as Zmodem's DSZ, Megalink,
and Sealink.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 157 of 232
Blocksize -- This parameter indicates the number of bytes in each block
transferred. This is only used to inform the caller the number of
blocks to expect when downloading. A zero in this parameters will
cause RBBS-PC to report only the number of bytes to expect. For Xmodem
or XmodemCRC this value would be 128. For Ymodem this value would be
1024.
Indicate Transfers Always Successful -- If there is no way for the protocol
to inform RBBS-PC if a transfer was successful, put a "F" in this
parameter. This means that all transfers will be regarded as
successful.
Zmodem (DSZ) used in a multi-tasking DOS environment (i.e. where there
can only be a single environment) and CLINK are examples of a protocols
that require this to be set.
Factor to Estimate File Transfer Time -- This is the decimal number used by
RBBS-PC to estimate the elapse time to download a file. The higher the
number, the faster the protocol and the lower the time estimate.
Standard equivalents in RBBS-PC are:
Ascii ......... 0.92
Xmodem ........ 0.78
XmodemCRC ..... 0.78
Kermit ........ 0.78
Ymodem ........ 0.87
Imodem ........ 0.90
YmodemG ....... 0.95
Windowed xmodem 0.78
If no value is specified, a default of 0.87 will be used.
RBBS-PC "Macro" to Invoke Before Protocol -- This is the RBBS-PC "macro"
(i.e. a series of standard RBBS-PC commands) to invoke before invoking
the protocol. It can be used to display special messages, to delay the
start of the protocol, or to prompt for special information passed to
the protocol.
Method for Checking Transfer's Success -- This is required only for
external protocols. This parameter indicates how RBBS-PC is to detect
a file transfer's failure. The format is "x=y=z" where:
x is which parameter tells whether the transfer was successful,
y is the string which indicates failure, and
z is an optional parameter telling RBBS-PC whether to write out
information needed when DOORing to a protocol in advance of
the file exchange.
For QMXFER.EXE from John Friel and the Forbin Project, this would be
"4=F" - meaning the 4th parameter indicates failure if it begins with
"F".
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 158 of 232
For Zmodem as implemented in DSZ from Omen Technologies, the
proper choice depends on whether SHELLing or DOORing is used.
For SHELLing, put in "1=E" to indicate that the first parameter
uses "E" to indicate an error has occurred. For DOORing, put in
"4=E=A" to indicate that the fourth parameter uses "E" an error
has occured. The "=A" means that RBBS-PC is to do an advance
write of the filename and protocol used. DSZ then appends its
error report to the log file. To the file "XFER-" plus node #
plus ".DEF" RBBS-PC will write out a line containing
"<filename>,,<protocol letter>". Omitting an "=" causes a default
to "4=F". The file checked is "XFER-" plus the node number plus
the extension "DEF". On node 1 the file checked is "XFER-1.DEF".
Template to Use for Downloading -- This is required only for external
protocols. It tells RBBS-PC how to invoke a download. See the
following section on discussion of "templates".
Template to Use for Uploading -- This is required only for external
protocols. It tells RBBS-PC how to invoke an upload.
21.2 Calling external protocols using "templates"
--------------------------------------------------
A "template" is used to inform RBBS-PC how to invoke an external protocol.
The first word of the template must be the file name (including file
extension) of the program to invoke. RBBS-PC will check to make sure that
the file exists. If the file does not exits, the protocol will not be made
available to the caller. If the file does exists, the protocol will be
shown to the caller.
RBBS-PC will dynamically substitute values for pre-defined strings inside a
"template". Each supported string is enclosed in square brackets. The
strings supported include:
[n] where n is a positive integer. Substitutes value in the array
A$, which can best be viewed as a work array. Macros can store
prompted values in specific elements in the array.
[FILE]. Name of the file (FILE.NAME$) to be transferred.
[BAUD]. Baud rate. Speed at which the caller dialed RBBS-PC.
[PARITY]. Parity used by the caller.
[PORT]. DOS device name for the communications port to be used for the
file transfer (COM1,COM2, etc.).
[PORT#] Number of the communications port to be used for the file
transfer (1,2,3, etc.).
[NODE]. Number of the RBBS-PC node invoking the file transfer (1,2,3,
etc.).
[PROTO]. Letter of the protocol for the file transfer.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 159 of 232
Everything else in a template will be passed intact. If the external file
transfer is to be invoked via a SHELL, it is recommended that the external
file transfer program be SHELLed to directly. If the external file
transfer is to be invoked via a DOOR, it can be either
1.) DOORed to directly using the same template as for SHELLing, or
2.) DOORed to indirectly via a .BAT file with the command parameters
passed to it by RBBS-PC. For example, a "door" for QMXFER might
have a download template of:
"RBBSQM.BAT [FILE] [PORT] [BAUD] [PROTO]"
and the file RBBSQM.BAT have the following in it:
C:QMXFER.COM -s -f %1 -l %2 -c -b %3 -p %4
DOS substitutes the passed parameters for the variables beginning
with the percent sign. .BAT files are needed in doors if there
are additional programs to run before or after the actual file
transfer.
The following examples should provide some help in understanding how to
invoke external protocols:
Example #1:
Z)ippy,5,S,8,,,,,0.98,,,"c:\proto\zippy -s [FILE]","c:\proto\zippy -r [FILE]"
Can be interpreted to be:
used "Z" as invoking letter,
put "Z)ippy" in the prompt,
the minimum security to use this protocol is 5,
the protocol will be invoked via a SHELL command,
an 8-bit connection is required,
estimate the download time as 0.98 times as fast as normal,
use normal RBBS-PC type of report to check for a successful transfer,
invoke the protocol for downloads using the following string:
"c:\proto\zippy -s [FILE]"
and invoke the protocol for uploads using the following string:
"c:\proto\zmodem -r [FILE]"
where the file name is substituted for "[FILE]" in either case.
Example #2:
X)modem,5,IX,8,,,128,,0.8,,,,
Can be interpreted to be:
used "X" as invoking letter,
put "X)modem" in the prompt,
the minimum security to use this protocol is 5,
the protocol is an internal RBBS-PC protocol,
an 8-bit connection is required, and
estimate the download time as 0.8 times as fast as normal.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 160 of 232
21.3 Parameters Returned by a Protocol Driver
----------------------------------------------
All protocol drivers are expected to return information about the file
transfer in a file named XFER-xx.DEF where the value for xx is the node ID
(1 to 36). If the protocol cannot accommodate this minimal requirement, it
can still be used by telling RBBS-PC to indicate file transfers are always
successful -- section 21.1, parameter 9.
The one item of information RBBS-PC requires to be returned from an
external protocol drive is whether or not the file transfer was successful.
The failure indicator MUST BE:
a.) the first character of
b.) any parameter
in the file XFER-xx.DEF. To show that file transfer failures are indicated
by the first parameter and the letter "E" in the file XFER-xx.DEF,
parameter 11 (as described in section 21.1) would be written as "1=E". To
show that file transfer failures are indicated by the fourth parameter and
the letter "F", parameter 11 (as described in section 21.1) would be
written as "4=F".
No other information is required when SHELLing to external file transfer
protocols. However, when DOORing to external file transfer protocols the
log file for the transfer MUST HAVE the file name as the first parameter.
Protocol drivers that do not have the file name as the first parameter can
still be used by telling RBBS-PC to write out three parameters (file name,
an empty parameter, and the letter of the file transfer protocol) before
invoking the external file protocol. This is done by using parameter 11
(as described in section 21.1). As an example, to DOOR to an external file
transfer protocol that indicates a file transfer failure by using the
letter "F" in the fourth parameter, but which does not return the file name
used, parameter 11 (as described in section 21.1) would be written as
"4=F=A". The external protocol would then append its own information to
the log file.
21.4 The Protocol Drivers Tested With RBBS-PC
----------------------------------------------
RBBS-PC has been tested with the following protocol drivers:
CLINK -- From System Enhancement Associates. Supports batch file transfers
but requires that transfers always be assumed successful.
DSZ -- From Omen Technologies. Supports Ymodem, Ymodem Batch, YmodemG, and
Zmodem. YmodemG requires a "reliable" connection. DSZ logs the
results of the file transfers to a file specified in the environment
variable DSZLOG. Therefore, the AUTOEXEC.BAT file for an RBBS-PC that
uses DSZ should specify
"SET DSZLOG=XFER-x.DEF"
where x is the node number. DSZ seems unable to create a log file
whenever a drive or path is specified. If invoking ZMODEM via the DOOR
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 161 of 232
mechanism, use the "=A" option at the end of the success method check
so that RBBS-PC will append the information to the DSZ log it needs and
DSZ will then append the success report. In a multi-user environment
where a different environment variable for each node can not be
specified (i.e. all nodes must share the same DSZ log file), specify
that a all transfers are always successful for protocols handled via
DSZ. See the discussion of parameter 11 in section 21.1 for further
considerations when using DSZ.
MLINK -- MEGALINK protocol supports batch file transfers but requires that
transfers always be assumed successful.
PC-KERMIT -- from Columbia University. PCKERMIT.EXE is supplied by The
Source as a public service and consists of sliding window KERMIT
protocol. The development of "windowing" within the KERMIT architecture
(i.e. Super KERMIT) was funded by The Source and implemented by Larry
Jordan and Jan van der Eijk.
Columbia University holds the copyright and maintains the Kermit
protocol. Like RBBS-PC, Columbia University allows KERMIT to be passed
along to others and "ask only that profit not be your goal, credit be
given where it is due, and that new material be sent back to us so that
we can maintain a definitive and comprehensive set of KERMIT
implementations".
PCKERMIT.EXE is not a terminal program. It simply implements the
Kermit protocol, including the sliding window extension. It will work
with older "Kermit Classic" implementations as well, via automatic
negotiation between the two Kermit programs. PCKERMIT.EXE runs as a
"one-shot" execution then returns to RBBS-PC. PCKERMIT does not
establish a carrier with a remote system. The connection is
established by RBBS-PC. File transfers must always be assumed
successful.
QMXFER -- is supplied by The Forbin Project as a public service and
supports five different protocols -- XMODEM (checksum), XMODEM
(cyclical redundancy check), YMODEM, YMODEMG, and IMODEM. QMXFER was
implemented by John Friel III, author of QMODEM. YMODEM and YMODEMG are
protocols designed by Chuck Frosberg. IMODEM is a protocol designed by
John Friel. The later two are designed to work when the link between
the two modems is "error free" (i.e. both modems have the MNP protocol
built in)> QMXFER.COM runs as a "one-shot" execution then returns to
RBBS-PC. QMXFER does not establish a carrier with a remote system.
The connection is established by RBBS-PC. File transfer failures are
indicated by an "F" in the fourth parameter of the log file returned to
RBBS-PC.
WXMODEM -- is supplied by The Forbin Project as a public service and
supports the window XMODEM protocol designed by Pete Boswell. Like all
of RBBS-PC's protocol drivers, WXMODEM.COM runs as a "one-shot"
execution then returns to RBBS-PC. WXMODEM does not establish a
carrier with a remote system. The connection is established by RBBS-
PC. File transfer failures are indicated by an "F" in the fourth
parameter of the log file returned to RBBS-PC.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 162 of 232
22. UPLOADED FILE TIPS
-----------------------
If someone uploads a BASIC file to you, and it will not list on your screen
using the DOS TYPE command, you should go into BASIC, load the file, list
it, then re-save it using the same name. If when you try to load the file
into the BASIC interpreter you get a `Direct Statement In File' error
printed on the screen, the BASIC file has a line without a line number.
This will not interfere with the re-saving of the file unless the direct
statement is at the beginning of the file; if the file lists properly,
then the direct statement is at the end of the file. If the file does
not list properly, then the direct statement is at the beginning of the
file and has to be removed using a text editor (EDLIN) before the program
can be loaded and run.
Do not attempt to save a BASIC file after getting the `Direct Statement In
File' error during loading without listing the program first; you will
destroy the file otherwise. If you wish to load an uploaded file (a BASIC
program or any other text file) into a text editor to change the content of
the file, you will first have to first add line feeds to the end of each
line (after each carriage return).
Finally, every SYSOP should assume that any uploaded file him that can
be executed (i.e. .BAS, .COM, .EXE) has the capability of destroying all
the files available to the PC it is executed on. This may be because the
documentation is in error, the program was executed incorrectly, or the
program was designed to be malicious. It behooves every SYSOP to know
what every uploaded file does in order to protect not only the RBBS-PC
system, but its users.
23. DUE WARNING AND SYSOP'S LEGAL LIABILITY
--------------------------------------------
While no definitive case-law or legislation exists defining the liabilities
of System Operators, every SYSOP should assume that they are as responsible
for their own actions when running an electronic bulletin board system as
they would be for any other action as a citizen of the United States who
chooses to exercise their right to freedom of speech. One of the unique
features of RBBS-PC is that users have to OVERTLY register themselves --
even when the RBBS-PC is "open" to the general public. This gives each
SYSOP the opportunity to give every user "due notice" and require each user
to actively acknowledge such notice. For some SYSOPs it is simply the
rules of their board. For me, the following is what I use as the text in
my NEWUSER file:
"Welcome to the world of RBBS-PC! Before continuing you
should understand your responsibilities as a RBBS-PC user.
Specifically they are:
1. Actively encourage and promote the free exchange and
discussion of information, ideas and opinions, except when the
content would compromise the national security of the United
States; violate proprietary rights, personal privacy, or
applicable state/federal/local laws and regulations affecting
telecommunications; or constitute a crime or libel.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 163 of 232
2. Use your real name and fully disclose any personal,
financial, or commercial interest when evaluation any specific
product or service.
3. Adhere to these rules and notify me immediately when you
discover any violations of the rules.
FURTHER every user explicitly acknowledges that all information
obtained from this RBBS-PC is provided "as is" without warranty of
any kind, either expressed or implied, including, but not
limited to the implied warranties of merchantability and fitness
for a particular purpose and that the entire risk of acting on
information obtained from this RBBS-PC, including the entire
costs of all necessary remedies, is with those who choose to act
on such information and not the operator of this RBBS-PC.
Register if you agree."
This won't protect you from prosecution if you allow your RBBS-PC to be
used for criminal activities. However, it does serve to cause each user to
voluntarily and OVERTLY accept my "rules" and allows me to sleep better at
night knowing that I have given "due notice." My own personal philosophy
is to actively pursue and prosecute ANY user on my board who I find
engaging in what appears to be a violation of the above notice.
Essentially, if you are going to run an RBBS-PC open to the general public
as I do, your board's reputation and standards must be able to withstand
public scrutiny. If you don't feel you can maintain such standards, either
don't run a RBBS-PC or run a very, very private one (and be sure to put all
your assets in the wife's and kid's names).
Since I'm not a lawyer, if you want a legal opinion on your liabilities as
a SYSOP your only source of legal advice should be an attorney licensed to
practice in your state. Just remember it may not be the best advice and
that the legal liabilities regarding the operation of bulletin board
systems is unclear.
24. COMPILING AND LINKING RBBS-PC
----------------------------------
RBBS-PC source code is distributed along with the executable program RBBS-
PC.EXE. It is NOT necessary to recompile or re-link RBBS-PC in order to
utilize RBBS-PC. However, some users may wish to modify the source and
recompile it. This section is intended for those hardy few who choose to
do so. Remember only what is distributed is supported -- anything else is
strictly yours to debug!
RBBS-PC's source code is compilable by the IBM BASIC Compiler Version 2.0
as released by IBM and with the IBM updates to it through 11/22/85.
Subsequent patches released by IBM for the Version 2.0 compiler appear to
disable the compiler to the point where it can not compile RBBS-PC. RBBS-
PC's source code is compilable by all of Microsoft's QuickBASIC Compilers -
- versions 1.0, 1.02, 2.0, 2.01, 3.0, and 4.0. However Microsoft's
QuickBASIC Compiler version 3.0 is the compiler used to generate the .EXE
files distributed with RBBS-PC because, regrettably, the QuickBASIC 4.0
compiler has some problems with applications that SHELL and also utilized
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 164 of 232
the communications ports.
24.1 Compiling CONFIG and RBBS-PC
---------------------------------
Version CPC17-1A of RBBS-PC's .EXE file is distributed after having been
compiled with QuickBASIC Version 3.00 compiler that had the DTR patch
described in Appendix T applied to it.
CONFIG.EXE is generated from compiling with multiple BASIC source files --
CNFG-VAR.BAS, CONFIG.BAS, CNFG-SUB.BAS. The output of the multiple compiles
(CONFIG.OBJ and CNFG-SUB.OBJ) generate multiple .OBJ input files to the
LINK step that create CONFIG.EXE.
The QuickBASIC version 3.0 compiler command should be:
QB CONFIG.BAS,/E/O/C:2048/;
QB CNFG-SUB.BAS,/O;
The command for IBM BASIC Compiler version 2.00 should be:
BASCOM CONFIG.BAS,,NUL,/E/O/C:2048/N
BASCOM CNFG-SUB.BAS,,NUL,/O/N
Compiling CONFIG requires that CNFG-VAR.BAS be in the sub-directory from
which they are being compiled.
RBBS-PC.EXE is generated from compiling with multiple BASIC source files --
RBBS-VAR.BAS,
RBBS-PC.BAS,
RBBSSUB1.BAS,
RBBSSUB2.BAS,
RBBSSUB3.BAS,
RBBSSUB4.BAS, and
RBBSSUB5.BAS.
The output of the multiple compiles (RBBS-PC.OBJ, RBBSSUB1.OBJ,
RBBSSUB2.OBJ, RBBSSUB3.OBJ, RBBSSUB4.OBJ, and RBBSSUB5.OBJ) generate
multiple .OBJ input files to the LINK step that, along with some other .OBJ
files, create RBBS-PC.EXE.
The command for QuickBASIC version 3.00 should be:
QB RBBS-PC.BAS,/C:4096/O;
QB RBBSSUB1.BAS,/X/O;
QB RBBSSUB2.BAS,/O;
QB RBBSSUB3.BAS,/O;
QB RBBSSUB4.BAS,/O;
QB RBBSSUB5.BAS,/O;
The command for the IBM BASIC Compiler version 2.00 should be:
BASCOM RBBS-PC.BAS,,NUL,/C:4096/O/N
BASCOM RBBSSUB1.BAS,,NUL,/X/O
BASCOM RBBSSUB2.BAS,,NUL,/O
BASCOM RBBSSUB3.BAS,,NUL,/O
BASCOM RBBSSUB4.BAS,,NUL,/O
BASCOM RBBSSUB5.BAS,,NUL,/O
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 165 of 232
Compiling RBBS-PC requires that RBBS-VAR.BAS be in the sub-directory from
which they are being compiled. For debugging purposes, RBBS-PC.BAS and
RBBSSUB2.BAS through RBBSSUB5.BAS can be compiled with the /E option in
addition to those shown.
The BASIC compiler library routines have a NASTY bug in them for those who
would like to allow KERMIT protocol to be used, exit to DOS as a remote
SYSOP, or exit to a "door."
If you re-compile RBBS-PC and desire to utilize any of these three RBBS-PC
functions, YOU MUST patch your compiler's libraries as described in
Appendix T.!
24.2 LINKing CONFIG
-------------------
CONFIG.OBJ can be LINKed to produce CONFIG.EXE with the command
LINK CONFIG+CNFG-SUB+RBBSUTIL+FOSSCOMM+xxxCOM,CONFIG.EXE,,;
assuming that all the required files are on the default drive.
NOTE: xxxCOM must be replaced with GWCOM if using the QuickBASIC compiler
and IBMCOM if using the IBM Version 2.0 compiler.
24.3 LINKing RBBS-PC
--------------------
RBBS-PC.OBJ can be LINKed to produce RBBS-PC.EXE with the LINKer command
(all on one line) -- LINK @LINKLST3.DAT, where the file LINKLST3.DAT
contains the following:
RBBS-PC+
RBBSSUB1+
RBBSSUB2+
RBBSSUB3+
RBBSSUB4+
RBBSSUB5+
xxxCOM+
QBARCV2+
ANSI+
XMODEM+
RBBSML+
BDRIVEC2+
PC-NET+
10-NET+
RBBSUTIL+
RBBSDV+
GIVEBK31+
FOSSCOMM,
,
,
BCOM30.LIB /STACK:2048
NOTE: xxxCOM must be replaced with GWCOM if using the QuickBASIC compiler
and IBMCOM if using the IBM Version 2.0 compiler. FOSSCOMM.OBJ is
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 166 of 232
new with RBBS-PC Version CPC17-1A.
The above LINK command assumes that all the necessary .OBJ files are on the
default drive and the necessary .LIB files are on the "C" drive.
25. LIMITED LICENSE
--------------------
The RBBS-PC software is copyrighted but A LIMITED LICENSE IS GRANTED and
each user is free to use and share it under the following conditions:
1. You may NOT distribute RBBS-PC in modified form.
2. You may NOT charge a fee for RBBS-PC itself, and
3. You MUST retain all references to the copyright and authors.
Please distribute the original version (or update thereof) of the program.
If you have changes please distribute them using the conventions described
in section 1.4. This is necessary so that future revisions can be
easily added to the system without requiring the entire program.
Please do NOT resequence the program. All revisions will be as files that
replace the base program or update thereof and the existing line numbers
will be referenced when describing new fixes and enhancements.
26. LIMITED WARRANTY
---------------------
The RBBS-PC program is provided "as is" without warranty of any kind,
either expressed or implied, including but not limited to the implied
warranties of merchantability and fitness for a particular purpose. The
entire risk as to the the quality and performance of the program is with
the user, and should the program prove defective, the user and not
the authors will assume the entire cost of all necessary remedies. None
of the authors warrant that the functions contained in the program will
meet any users' requirements or that the operation of the
program will be uninterrupted or error-free. In any case, each
author's entire liability will be limited to the total amount of money
the individual user paid directly and explicitly to each author for the
use of RBBS-PC.
27. UPGRADING FROM CPC16-1A TO CPC17-1A
----------------------------------------
Before upgrading from CPC16-1A to CPC17-1A, follow these thirteen steps:
1. Create backup files of all your current USERS, MESSAGES, and
RBBSxPC.DEF files.
2. Print out all the options you selected on your current RBBSxPC.DEF
file.
3. Delete your current RBBSxPC.DEF file (backed up in step 1).
4. Run CONFIG, version 17-1A and re-enter the options you had selected.
5. Review the PROTO.DEF file to make sure it is set up correctly for
your system (see CONFIG parameter 233).
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 167 of 232
6. Reformat your PASSWRDS file to conform to CPC17-1A's format after
carefully reading section 16.3! It is radically different from
earlier versions of RBBS-PC.
7. Make sure you review CONFIG parameter 261 in section 11.14. RBBS-PC
now uses a "semaphore" file (i.e. like the way function key 1 is
detected) to drop to DOS at a specific time of day.
8. Log on locally as the SYSOP and enter the information requested.
This is required because in CPC17-1A, the SYSOP has a "USER" record
and you need to fill it in by logging on locally.
9. If you are using any external protocols, make sure that the PROTO.DEF
file reflects what you have and where they are (see section 21).
10. Review the sections on CPC17-1A's major new features:
a.) enhanced mail waiting checking (section 19),
b.) automatic SYSOP paging (section 8.11),
c.) "colorization" (section 8.10),
d.) "macros" (section 8.8),
e.) use of upload/download ratios to encourage users (section 16.3),
f.) use of "smart" text files (section 8.9), and
g.) the enhancements to the FMS system (section 13).
11. Use the MENU0 that is new with CPC17-1A.
12. Replace HELP07 with the new help file MR.HLP
13. Change all "DOORS" that incorrectly re-invoke RBBS-PC using the "net-
mail" convention described in CONFIG parameter 262. They should NOT
pass the fourth parameter (i.e. "/baud"). If they do, RBBS-PC's
enhanced security will assume that they are a new user and ask them
for their first and last name (not merely their password).
PLEASE NOTE!!!!! ---- CPC17-1A has a new CONFIG (version 17-1A) that
replaces the older versions of the CONFIG utility and the .DEF files that
they created!
28. PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE
----------------------------------------------------
As PC's (IBM's and others) become more common in homes and offices,
their use as vehicles for information exchange continues to grow -- as
so eminently attested by the astounding growth of RBBS-PC itself! A
national meeting of SYSOPs could foster this growth in information
exchange; assist in focusing on the issues (regulatory and otherwise)
that foster/inhibit this growth; and act as a forum for new ideas. A
national meeting, perhaps sponsored by the Capital PC User Group or
even a consortium of other not-for-profit PC user groups could be held .
SYSOPs are not only in the big corporations but also in the millions of
small businesses, non-profit associations, educational institutions in
which the RBBS-PC concept has found a home. They are often the decision
influencers in their organizations or area -- as U.S. Robotics discovered
when they introduced their Courier 2400 baud modem so successfully. As I
expect most who would attend would be paying their own way, the first
conference would probably consist of that small "band of brothers"
who have set up boards out of the intensity of their own
commitment.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 168 of 232
My own vision of such a conference is sort of a 1980's electronic
"Woodstock" -- if for no other reason because of the very "volks"
nature of SYSOPs. It has been a long time since there has been a
conference "of the people, by the people, and for the people."
What follows is a hypothetical agenda of what might be of interest at such
a conference. The agenda consists of a "technical" and a "non-technical"
(management?) set of sessions as follows:
"technical sessions" "non-technical sessions"
8:30 - 10:00 RBBS-PC Record Layouts How to Copyright Software --
(CALLERS, USERS, and its protection and penalties
MESSAGES files) for violation of copyrights.
10:30 - 12:00 Multi-Port RBBS-PC 1986 Computer Privacy Act and
Systems -- actual "computer trespass" laws at
experiences. the State level.
12:00 - 1:30 Luncheon with a nationally known guest
speaker (any suggestions?)
1:30 - 3:00 RBBS-PC "doors" and Business Applications of
"doorware" explained. Bulletin Board Systems
3:30 - 5:00 Modems -- beyond 2400 The use of RBBS-PC in local,
baud. State, and Federal agencies.
5:00 - 6:30 CONNECT TIME! -- Vendor Presentations
and Receptions
If you are with a manufacturer or organization that might be interested
in sponsoring such a meeting, work with your organization to make it
happen! If in the normal course of your business contacts you see a
potential sponsor of such a conference, persuade them to look into
being a sponsor. I would be glad to talk with anyone about going forward
with this project.
If you are interested in participating, write me at the following address:
Tom Mack
National SYSOP Conference
39 Cranbury Drive
Trumbull, Conneticut 06611
Please indicate
1. Which four sessions you would attend (in order
of preference).
2. Any additional sessions you would be interested in.
3. Who would you want as a guest speaker at the
luncheon.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 169 of 232
4. Where you would like such a conference held
from among the following five locations:
a.) Boston, Mass.
b.) Chicago, Ill.
c.) Houston, Texas
d.) San Francisco, Calif.
e.) Washington, D.C.
5. Your mailing address.
6. Telephone numbers you can be reached at (both voice
and data).
7. And if you would be willing to be a "worker" as
well as an attendee -- i.e. stuff envelopes, keep
the mailing list, make hotel arrangements, etc.
My greatest fear is not that there will be fifty of us -- but that there
will be 2,000 of us! Whatever happens, it should be fun.
29. RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD
---------------------------------------------------------
RBBS-PC'S "Userware" concept is founded on the principle stated in section
1 -- "software which is shared becomes better than it was." Relying on
Federal copyright protection, it is my firm belief that RBBS-PC's source
code can be distributed without the risk of "loss of ownership" (i.e. it
becoming "public domain"). In fact I think that all software (commercial
and non-commercial) should be distributed as both compiled/executable files
and with their source code. With one exception, RBBS-PC's copyrights have
never been violated -- this is due more to the fact that RBBS-PC
enthusiasts are ever-vigilant of RBBS-PC's copyrights rather than due to
any lack of attempts to "sell" RBBS-PC or RBBS-PC look-alikes to the
unsuspecting public.
Incorporating these new features and ideas into each new release of RBBS-
PC, making sure that upward compatibility with earlier version of RBBS-PC
exists, as well as maintaining RBBS-PC's copyright, are all things that I
accept the responsibility for. However, it is RBBS-PC's "support staff"
(i.e. all those who enhance RBBS-PC and share such enhancements) that
continues to make RBBS-PC a unique experiment in PC software.
No one should feel that the possibilities for RBBS-PC have even begun to be
exhausted. In fact, I am absolutely certain that even as this is written
innovative enhancements are being created for RBBS-PC that I haven't even
mentioned. It is my sincerest hope that if RBBS-PC continues to succeed
within the IBM PC industry in becoming the "bulletin-board standard,"
software vendors will begin examining the reasons for RBBS-PC's success and
come to understand that:
1. The best form of software support is user support;
2. The best source for software enhancements are from it's users;
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 170 of 232
3. The best software continually adopts itself to users needs; and
4. The best way to minimize software development is to distribute
source code;
Each RBBS-PC system operator has the opportunity to affect what RBBS-PC
becomes in the future. Many already have. RBBS-PC continues to grow and
expand because hundreds (and quite possibly thousands) of SYSOPs spend the
time and trouble not only to modify RBBS-PC to meet their needs, but also
to share these modifications with others. I do not know of any other
software for the IBM PC that has such a vast number of programmers
supporting it. In section 1.3, I name more than 70 such individuals and
acknowledge that there are a lot more! With the structured design RBBS-
PC's source code that the new BASIC compilers allowed, even more RBBS-PC
system operators are invited to contribute. Take the time! Make the
difference!
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 171 of 232
APPENDIX A -- RBBS-PC Record Formats
------------------------------------
This appendix is intended to document the record formats of some of the
more significant records used within RBBS-PC. As such, it is intended
more as a "programmers' guide" for those who wish to write RBBS-PC
utilities rather than as "user documentation." No record format is
"sacrosanct" and any of them may be changed in future releases.
However such changes are not made capriciously and, when they are
made, are accompanied by some utility program that will allow the
old files to be reformatted into the new format.
The MESSAGES file contains the messages that have been left on RBBS-PC. It
is a random file with 128-byte records. The first record of the MESSAGES
file acts as RBBS-PC's "checkpoint" record. The records immediately
following this first record are the RBBS-PC "node" records. Each "node"
record represents the activity/options associated with a particular copy of
RBBS-PC ("node"). There can be up to thirty-six copies of RBBS-PC running
simultaneously sharing the same set of static files. Therefore there can
be up to thirty-six "node" records following the "checkpoint" record.
The MESSAGES file has the following logical format:
+----------------------------------------------+
Record #1 | RBBS-PC "checkpoint" record |
+----------------------------------------------+
Record #2 | RBBS-PC "node" record for node # 1 |
| |
| up to |
| |
| RBBS-PC "node" record for node # 9 |
| RBBS-PC "node" record for node # 0 |
| RBBS-PC "node" record for node "A" |
| |
| up to |
| RBBS-PC "node" record for node "Z" |
| |
+----------------------------------------------+
| First Record in Message portion of file |
+----------------------------------------------+
| |
\ Message records that have been used \
\ \
| |
+----------------------------------------------+
| Record available for next message |
+----------------------------------------------+
| Last record available in MESSAGES file |
+----------------------------------------------+
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 172 of 232
The FIRST RECORD of the "MESSAGES" file acts as a "checkpoint" record for
all the multiple RBBS-PC's that may be sharing the MESSAGES and USERS
files. It contains information critical to maintaining the integrity of
these two files. The layout of RBBS-PC Message File Record Number 1 is
as follows:
Position Length Description
1 - 8 8 Number assigned to the last message entered
9 - 10 2 Security level user must have to be auto-added to a conference
11 - 20 10 Current caller number
21 - 56 36 --- RESERVED FOR FUTURE USE ----
57 - 61 5 Count of the number of USER records used
62 - 67 6 --- RESERVED FOR FUTURE USE ----
68 - 74 7 Record Number where "messages" portion of the
MESSAGES file begins
75 - 81 7 Record Number of the next available record in the
MESSAGES file where the next message may be written
82 - 88 7 Record Number of the last record in the MESSAGES file
89 - 95 7 Maximum number of messages allowed in the MESSAGES file
96 -126 31 --- RESERVED FOR FUTURE USE ----
127 -128 2 Maximum number of RBBS-PC's sharing this MESSAGES file
As a programming reference, line numbers 1900 and 23000 of the BASIC source
code for RBBS-PC.BAS contains the code for reading this "checkpoint"
record.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 173 of 232
Following the first record of the MESSAGES file are from one to 36 "node"
records. Each "node" record contains information critical to the
running of that copy of RBBS-PC associated with that "node". The layout of
each RBBS-PC "node" record is as follows:
Position Length Description
1 - 31 31 Name of last person on this copy of RBBS-PC
32 - 33 2 SYSOP available indicator (true or false)
34 - 35 2 SYSOP annoy indicator (true or false)
36 - 37 2 SYSOP is to be on next indicator (true or false)
38 - 39 2 Line printer available indicator (true or false)
40 - 41 2 Door's availability indicator (true or false)
42 - 43 2 Eight bit transmission indicator (true or false)
44 - 45 2 Caller's baud rate indicator: -1 = 300 baud
-2 = 450 baud
-3 = 1200 baud
-4 = 2400 baud
-5 = 4800 baud
-6 = 9600 baud
-7 = 19200 baud
46 - 47 2 Upper case only indicator (true or false)
48 - 51 4 Number of bytes transferred (from external protocols)
52 1 Batch transfer indicator (not zero = batch)
53 - 54 2 Graphics indicator (0 = text, 1 = full ASCII, 2 = color)
55 - 56 2 SYSOP indicator (-1 = SYSOP)
57 1 Activity indicator (I=inactive, A=active)
58 - 59 2 SNOOP on indicator (true or false)
60 - 65 5 Baud that RBBS-PC talks to the modem at (single precision)
65 - 67 3 Time user logged onto the system (HH:MM:SS)
68 - 71 4 --- RESERVED FOR FUTURE USE ----
72 - 73 2 Private door indicator (true or false)
74 1 Type of transfer to external program:
0 = none
1 = download a file
2 = upload a file
3 = external registration program
75 1 First letter of file transfer protocol
76 1 --- RESERVED FOR FUTURE USE ----
77 - 78 2 Last date, MM-DD-YY, that RBBS-PC exited to DOS (packed)
79 - 85 7 --- RESERVED FOR FUTURE USE ----
86 - 90 5 Last time, HH:MM, that RBBS-PC exited to DOS
91 - 92 2 Reliable mode indicator (true or false)
93 - 116 24 Work area that normally contains caller's City and State,
but when temporarily exiting RBBS-PC used as:
Position Length Description
93 -100 8 Programmable user interface file name
101 -102 2 Local user indicator (true using local PC)
103 -104 2 Local user mode (true if using COM0)
105 -112 8 Name of current "conference" or "sub-board"
113 -116 4 --- UNUSED ----
117 -118 2 Subsystem index of last subsystem user was in.
119 -124 6 Month, day, and year, MMDDYY, external protocol was exited to
125 -128 4 Hour and minute, HHMM, external protocol was exited to
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 174 of 232
As a programming reference and in order to see how these fields are
set/used in the node records, review the following line numbers in RBBS-
PC.BAS -- 150, 200, 400, 420, 842, and 13555. In addition, review the
following subroutines as well:
Source Code Subroutine
RBBSSUB2.BAS ---- WHOSON
RBBSSUB3.BAS ---- FINDFUNC
SAVEPROF
READPROF
RBBSSUB4.BAS ---- TIMEDOUT
A message within the messages file consists of a MESSAGE HEADER followed by
the text of the message. The RBBS-PC Message File "message header" record
layout is as follows:
Position Length Description
1 1 Contains an "*" for read-only messages, blank otherwise
2 - 5 4 Message number of this message
6 - 36 31 The name of the person the message is from
37 - 58 22 The name of the person to whom the message is sent
59 - 66 8 Time of day that the message was sent (HH:MM:SS)
67 - 67 1 ---- RESERVED FOR FUTURE USE ----
68 - 75 8 Date the message was sent (MM-DD-YY)
76 -100 25 Subject of the message
101 -115 15 Password for the message (if any)
116 -116 1 "Active" message indicator = hex 225
"Killed" message indicator = hex 226
117 -120 4 Number of 128-byte records for this message --
including the the "message header" record.
121 -122 2 Minimum security level to read message
123 -125 3 Date (packed) the message was last read (MM/DD/YY)
126 -128 3 Time (packed) the message was last read (HH:MM:SS)
As a programming reference, review lines 3405, 3460, 3530, and 8076 of the
BASIC source code for RBBS-PC.BAS to see how these fields are set.
Each record following the MESSAGE HEADER record is a MESSAGE TEXT record
and consists of 128 characters. Each of these 128-byte message text"
records contains the message text. The end of each line in the message is
followed by an RBBS-PC "end-of-line" indicator which is equal to
an ASCII 227. This allows RBBS-PC to "pack" multiple message lines in a
single 128-byte record.
The USERS file contains information unique for each RBBS-PC user who
logs on. It is a random file with 128-byte records. The layout of each
users record within the USERS file is as follows:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 175 of 232
Position Length Description
1 - 31 31 Users first and last name (separated by a blank).
32 - 46 15 Users password for logon.
47 - 48 2 Users security level (permanent).
49 - 62 14 Users logon options (see detail breakdown below).
63 - 86 24 City and state from which the user is calling.
87 - 89 3 ---- RESERVED FOR FUTURE USE ----
90 - 93 4 Number of files downloaded today
94 - 97 4 Number of bytes downloaded today
98 -101 4 Number of bytes downloaded (ever).
102 -105 4 Number of bytes uploaded (ever).
106 -119 14 Date and time the user was last on (MM-DD-YY HH:MM).
120 -122 3 Date the user last listed a directory.
123 -124 2 Number of files downloaded (ever).
125 -126 2 Number of files uploaded (ever).
127 -128 2 Elapsed time the user was on for day of last access.
As a programming reference, line 9400 of the BASIC source code for RBBS-
PC.BAS contains the code for opening this file. The field used to record
the users logon options, positions 49 through 62, is utilized as follows:
Position Length Description
49 - 50 2 Number of times the user has logged on
51 - 52 2 Last message number read by the user
53 1 Protocol Preference (X, A, M, C, I, Y, G, K, W, blank)
54 1 Graphics 0-text, 1-graphics, 2-color
55 - 56 2 Margin length for this users messages
57 - 58 2 Bit Flag -- this 16-bit field is denoted by bit 0
being the least significant (i.e. right-most bit)
and bit 15 being the most significant (i.e. left-
most bit). These "bit flags" have the following
meanings (0=off, 1=on):
BIT Definition (what ON means)
0 Bell prompts
1 "Expert" mode
2 Nulls
3 Upper case only
4 Line feeds
5 Skip old bulletins
6 Check new files on logon
7 Use autodownload
8 Required questionnaire answered
9 Mail Waiting
10 Highlighting enabled
11 "TurboKey" enabled
12-15 RESERVED FOR FUTURE USE
59 - 60 2 Date subscription began
61 1 Page length to use for this users terminal
62 1 ------- RESERVED FOR FUTURE USE ---------
---
14
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 176 of 232
APPENDIX B -- RBBS-PC in a DESQview Environment
-----------------------------------------------
Before you continue, make certain you have read and thoroughly understand
the instruction manual provided with your copy of DESQview.
1. Modifications to DOS CONFIG.SYS and RBBS-PC batch files:
------------------------------------------------------------
The first step in using DESQview with RBBS-PC is setting up your CONFIG.SYS
file. Files=25 is probably the most critical value. This value tells DOS
how many files may be open at the same time. This value may need to be
increased if you intend to run more than 2 nodes of RBBS-PC.
A typical CONFIG.SYS file should include the following:
files=25
buffers=25
(device=ansi.sys is not required when using DESQview)
If you intend to use two or more nodes of RBBS-PC, a batch file will be
required for each node. These batch files will eventually be executed from
the DESQview "Open Window" menu and will load each node of RBBS-PC.
Contents of RBBS1.BAT Contents of RBBS2.BAT
if exist rctty1.bat del rctty1.bat if exist rctty2.bat del rctty2.bat
watchdg1 off watchdg2 off
rbbs-pc.exe 1 rbbs-pc.exe 2
watchdg1 on watchdg2 on
if exist rctty1.bat rctty1.bat if exist rctty2.bat rctty2.bat
rbbs1.bat rbbs2.bat
In the above examples, the program WATCHDOG is being used to monitor for
carrier when the SYSOP has dropped into DOS remotely or a user has opened a
Door. For example, WATCHDG1 monitors COM1 and WATCHDG2 monitors COM2. If
you aren't using WATCHDOG, leave these commands out of your batch files.
2. What to Tell RBBS-PC's "CONFIG" Utility
------------------------------------------
When using DESQview you will need to change CONFIG parameter 162 that you
are running under DESQview.
3. Running Multiple Nodes (or copies) of RBBS-PC
------------------------------------------------
If you intend to use two or more nodes of RBBS-PC, you will need to change
a few additional parameters with the RBBS-PC "CONFIG" utility. When using
multiple nodes of RBBS-PC you will be using a .DEF file for each node.
Each node will have a .DEF file named RBBS?PC.DEF where ? represents the
number of the node. These are created by answering YES to the question
"Will you be running multiple copies of RBBS-PC (YES or NO)?" when the
"CONFIG" utility first loads. If you prefer to use the parameters from
your existing single node RBBS-PC.DEF file, you may simply copy that file
to the new .DEF files before you run the "CONFIG" utility. After loading
the "CONFIG" utility, it will ask you "To which copy of RBBS-PC will these
options apply (1 to 36)?" and you should respond with node number (or copy)
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 177 of 232
you want to configure.
Here are the parameters that will have to be changed for each node of RBBS-
PC you intend to use. This example is for a system with two nodes.
Node DEF file--> RBBS1PC.DEF RBBS2PC.DEF
Default Configuration Parameters Parameters Parameters
-------------------------------- ----------- -----------
Communications port to be used by RBBS-PC ---- COM1 COM2
File RBBS builds dynamically to open a 'door'- D:RCTTY1.BAT D:RCTTY2.BAT
When a 'door' closes, file to re-invoke RBBS - D:RBBS1.BAT D:RBBS2.BAT
Maximum number of concurrent RBBS-PC's ------- 2 2
These are in CONFIG as parameter 221, parameter 103, parameter 104, and
parameter 161 (respectively). Please note that the preceding parameters
are located on different pages of the "CONFIG" utility.
4. DESQview Setup Default Settings
----------------------------------
The first step in setting up DESQview for use with RBBS-PC is specifying
the default settings for DESQview. DESQview has a program called SETUP.EXE
that you should run. After the SETUP program loads, press RETURN for the
Advanced Setup Procedure followed by a "P" for Performance defaults. Here
is an example of the settings you should use.
Advanced Setup: Performance
Task Processing Time (clock ticks)
Foreground: 4 <-----
Background: 3 <-----
Memory Usage (in K bytes)
DESQview Scripts: 1
Playback Scripts: 1
Learn Scripts: 1
System Memory: 12
High Speed Comm? (Y/N): Y <-----
Jump Scroll? (Y/N): N
Swap to Disk? (Y/N): N
The arrows above refer to changes from DESQview's default settings. NEVER
indicate more clock ticks for Background processing than you are using for
the Foreground processing. DESQview will automatically increase the amount
of Background clock ticks whenever there is little demand for Foreground
processing. This is the case when running RBBS-PC in the background and
doing word processing or a similar task in the foreground. This feature
cannot function properly if the Background clock ticks are set higher than
the Foreground clock ticks. Setting the High Speed Comm default to YES
will make communications interrupts the highest priority. This will keep
file transfers going smoothly for your callers while you are doing other
tasks or operating multiple nodes of RBBS-PC.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 178 of 232
5. Adding RBBS-PC to DESQview's "Open Window" Menu
---------------------------------------------------
Refer to the section "Adding Your Own Program" in the DESQview manual. You
will need to "Add a Program" for each node of RBBS-PC you intend to operate
on your system. You may name the programs N1, N2, etc. N1 will load the
batch file RBBS1.BAT, N2 will load RBBS2.BAT and so on. Use the following
settings for each node (or copy) of RBBS-PC you install.
Add a Program
Program Name . . . . . . RBBS-PC [node 1] Keys to use on Open Menu N1
Command to Start Program RBBS1.BAT
Path to Data Files . . . D:\RBBS (subdirectory RBBS1.BAT is located in)
Memory Size (in K) . . . 288 (see "Memory Considerations" below)
Window Position . . . . Row 0 Column 0 Height 25 Width 80
Script Buffer Size (in bytes) 1000
Options:
OFF ON---> Displays graphics information
OFF ON---> Uses its own colors
OFF ON---> Allows keyboard type-ahead
OFF ON---> Allows script type-ahead
OFF OFF
To toggle an option ON or OFF, move the cursor to the option with the TAB
key and press the + key to the right of the numeric pad. An option is ON
whenever it is highlighted on your screen. Only the first four options on
the right hand side should be highlighted before pressing RETURN to end the
"Add a Program" session. Leaving the "Displays graphics information"
option set to OFF (not highlighted) may cause your system to lock-up when
you attempt to open another window.
6. Memory Considerations
-------------------------
Current versions of DESQview require a little under 162k of your system's
memory. This leaves you with about 478k to operate RBBS-PC on a system
with 640k. Specify a minimum window size of 270k for each node of RBBS-PC
you intend to operate. If you choose to use RBBS-PC's external protocol
drivers for file transfers you can use SHELL or EXIT. SHELL requires 370k
as the minimum partition size. It is necessary to use EEMS memory to run
two copies of RBBS-PC in the same machine.
If you use the second node for SYSOP duties only, the above configuration
should work nicely. When using the second node for SYSOP duties an
additional modem and an additional RS-232 interface is not required -- all
you have to do is use CONFIG to set up the .DEF file for the node you are
going to use for SYSOP duties as using COM0. Failure to do so will prevent
your second node from loading properly.
7. Expanded Memory
-------------------
If you are using an "Expanded Memory" board that allows more than 640k to
be used for programs, the constraints discussed in the previous section may
not apply. Specify a window size of 370K for each node of RBBS-PC and
invoke the external protocol drivers by SHELLing. For information on
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 179 of 232
running programs in expanded memory, refer to the manuals for DESQview and
your particular memory board.
8. How to AUTOEXEC RBBS-PC From DESQview
----------------------------------------
Refer to the section "Learn: DESQview's Keystroke Macro Feature" in the
DESQview manual. A script assigned to the ! key (on the DESQview menu) has
a special meaning. It is performed at the time you start up DESQview,
immediately after the DESQview menu appears. This is called a STARTUP
SCRIPT. You should "Learn" the Startup Script with no windows open and
with the DESQview menu displayed to be sure it will play back properly. Use
this particular script to load N1, N2, etc. of RBBS-PC. If you load
DESQview from your AUTOEXEC.BAT file, RBBS-PC will load from DESQview
automatically. This can be handy if there is a power outage while you are
away and no one is around to re-load RBBS-PC when the electricity returns.
Finally, it's suggested that you open the window(s) for RBBS-PC prior to
opening a window for any other application software.
9. RBBS-PC Technical Support For DESQview
-----------------------------------------
The preceding configuration has been given to every SYSOP that has
contacted our bulletin board system regarding DESQview usage with RBBS-PC.
It has, in every case, solved their problems with DESQview and RBBS-PC. If
you follow these instructions and continue to have difficulties, please
contact us and we will do our best to help out.
John Taylor
SYSOP, Indiana On-Line (tm)
(812) 332-RBBS /data
(812) 332-1110 /voice
Additional Notes:
Two Quarterdeck utilities, STDERR.COM and LDFILTER.COM are distributed with
RBBS-PC.
STDERR.COM should be started up in your autoexec.bat file when you bring up
DESQview. STDERR.COM was written by Quarterdeck Office Systems to
compensate DOS' inability to redirect the standard error output to the same
device that the standard output device had been redirected. If are running
something remotely and an error occurs, STDERR.COM allows the error to be
displayed at the remote user's end and not simply on the PC that is running
RBBS-PC under DESQview.
LDFILTER.COM should be started up every time you open a window in DESQview.
LDFILTER.COM was written by Quarterdeck Office Systems to compensate for
the memory mismanagement of the BASIC compilers. If you try to "SHELL" to
an external routine the error that there is not enough memory to SHELL with
is issued. LDFILTER.COM prevents this error condition by preventing the
code generated by the BASIC compilers from mis-managing memory.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 180 of 232
APPENDIX C -- RBBS-PC in a MultiLink Environment
------------------------------------------------
RBBS-PC CPC17-1A has been tested under Multilink versions 4.0, 3.02 and
earlier.
CONFIG's allows the SYSOP to tell RBBS-PC that it will be running in a
MultiLink environment. This is ESSENTIAL when running RBBS-PC under
MultiLink. CONFIG allows the SYSOP to specify what MultiLink terminal type
code to pass to MultiLink whenever RBBS-PC exits to DOS via a "Door". Page
15 of the MultiLink documentation specifies the various terminal type
codes. When a SYSOP indicates that "doors" are available (via parameter
101 of CONFIG) and RBBS-PC is to be run under MultiLink, the SYSOP is asked
to select the MultiLink terminal type that RBBS-PC is to inform MultiLink
to expect when MultiLink is given control of the "Door."
RBBS-PC has been tested running two copies of RBBS-PC under DOS 3.2 and
MultiLink Advanced (versions 3.02 and 4.0) on an IBM PC which had a mother-
board containing 256K and an AST Comboplus board with 384K (a total of
640K). However, to do this RBBS-PC must be re-compiled (see Appendix Y).
The "autoexec" file was named AUTOEXEC.BAT and contained the following
parameters
MLINK /9,266/9,266
NOTE! ==> CPC16-1A must be recompiled with C:512 in order to run in a 268K
partition under MultiLink. As released, CPC16-1A is compiled
with the parameter C:4096 which requires a MultiLink partition
of 270K. Of course, to SHELL to the external protocols, the
partitions must be about 440K.
It is important to avoid doing several things when running RBBS-PC under
MultiLink. First, NEVER RUN MLSLICE! This is because MLSLICE hangs off
the PC's timer chain and the code generated by the BASIC compilers violates
all sorts of DOS conventions whenever it is utilizing the PC's speaker
(i.e. as when RBBS-PC pages the SYSOP). In so doing, the code generated by
the BASIC compilers is incompatible with programs that do follow DOS
conventions.
Second, NEVER use the DOS "PRINT" command! This is because there is a bug
in the code generated by the BASIC compiler that causes the system to hang
if a compiled BASIC program is running and DOS is printing something. This
bug has been corrected in the BASIC compiler that was used to generate
RBBS-PC.EXE that is distributed. However the version of RBBS-PC that you
get (if other than from CPCUG) may not have this bug corrected. This is a
bug that occurs independent of running MultiLink.
Third, check your Intel 8088 chip's copyright date by opening up the cover
and locating the 8088 chip. If the copyright date printed on the chip is
1978 (i.e. pre 1981), REPLACE THE INTEL 8088 CHIP!!!!! The 1978 Intel 8088
chip had several design flaws that will cause your system to lock up
occasionally. One of these design flaws allowed interrupts to occur while
stack switching (something that will happen running multiple partitions
doing disk I/O under any multi-tasking DOS add-on such as MultiLink or even
IBM's TopView). Don't blame MultiLink for the flawed Intel 8088 chip that
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 181 of 232
IBM put in your PC! It costs about $70 ($35 for the chip and $35 for
labor) and takes about 15 minutes to have the 1978 Intel 8088 chip
replaced. In fact, if you are going to replace your 1978 Intel 8088 chip,
you might consider the newer (and 5% to 10% faster) NEC V20 chip.
Fourth, DON'T USE "BUFFERS=" in the CONFIG.SYS for DOS! This may be an
"old wives tale," but I am convinced (but can't prove) that there are
incompatibilities between the code the BASIC compiler generates, DOS's use
of "BUFFERS=", and MultiLink.
Fifth, DON'T ALLOW MNP PROTOCOL for file transfers. An incompatibility
exists between the Software Link, Inc.'s Multi-Link and MICROCOM's MNP
software. Until the respective vendor's resolve this, don't use both
products concurrently!
Sixth, RBBS-PC will only run in Background 1 or Background 2.
Finally, DON'T RUN PROGRAMS THAT USE THE BASIC "RUN-TIME" LIBRARY, and
always invoke the BASIC interpreter with the command BASIC /C:0! Both the
BASIC interpreter's handling of communications ports and BASRUN.EXE seem to
violate enough DOS conventions to "lock up" MultiLink.
When RBBS-PC is told that it is running in a MultiLink environment via
CONFIG parameter 162, RBBS-PC will automatically do the following:
1. When re-cycling, it will automatically enque on the correct
MultiLink resource ID for the communications port defined
in CONFIG for that copy of RBBS-PC to use.
2. When re-cycling, it will automatically tell MultiLink that
this is a type "9" partition (i.e. MultiLink is NOT to handle
the communications port).
3. When exiting to DOS via a "door", RBBS-PC will automatically
tell MultiLink to start handling the communications for this
partition (COM1 or COM2) and what type of terminal was defined
in CONFIG that would be on the communications port (MultiLink
terminal types 1 through 12).
Manually, it is possible to bring up and run one copy of RBBS-PC under
MultiLink. The only way that I have been able to bring up two copies of
RBBS-PC successfully (one copy running in each of two partitions) was to
bring them up via AUTOEXE1.BAT and AUTOEXE2.BAT files. It appears that
during the MultiLink initialization sequence when the partitions are being
established and the "AUTOEXEx.BAT" files are being invoked that MultiLink
doesn't get "confused" and lock up with a second copy of RBBS-PC present.
If using Multi-Link to run multiple nodes in the same machine under
DOS 3.x or above, it is recommended that the SYSOP execute SHARE.COM prior
to starting multiple RBBS-PC nodes under Multi-Link and specify FILES=20 in
the CONFIG.SYS file.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 182 of 232
APPENDIX D -- RBBS-PC in a CORVUS Network
-----------------------------------------
RBBS-PC uses the standard Corvus SEMAPHORES when sharing files among
multiple copies of RBBS-PC within a Corvus Network. This is accomplished
via the MS-DOS utility driver, DRIVEC2, that Corvus supplies with its
network.
On a multi-server Corvus network (i.e. where there are multiple shared hard
disk drives) all PC's that are running RBBS-PC within the Corvus network
MUST have their "home volume" on the same server. Corvus maintains each
PC's semaphores on that PC's "home volume". In order to "share" files
among various PC's in a Corvus network, all the PC's that are "sharing"
must also be looking at the same set of semaphores. In a single-server
Corvus network this is not a consideration because there is only one "home
volume."
RBBS-PC has been only tested with the Corvus CONSTELLATION II interface
cards and software that Corvus provides for the IBM PC. RBBS-PC should
work with both Corvus' older "flat cable" network as well as their newer
OMNINET twisted wire pair cable network when running CONSTELLATION II
software. It is entirely possible that RBBS-PC would work with some
combination of both Corvus network types as long as they were running
CONSTELLATION II software.
It should be self-evident that every PC within a Corvus network running
RBBS-PC must have a Corvus interface card. If multiple copies of RBBS-PC
are running in a Corvus network that is using older Corvus software (i.e.
NOT running the CONSTELLATION II software), the interface cards must, at
least, all have the CONSTELLATION II ROM.
RBBS-PC is tested only to run on IBM PC's within a Corvus network. Clearly
an IBM "clone" that can run IBM's DOS, RBBS-PC.EXE, and is supported by
Corvus' network should also work. However, such configurations (and their
many variations) are not part of the environment within which RBBS-PC is
tested and supported.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 183 of 232
APPENDIX E -- RBBS-PC in an ORCHID PCnet NETWORK or AST PCnet NETWORK
---------------------------------------------------------------------
RBBS-PC can be implemented on an Orchid PCnet or AST PCnet Network
environment. It is assumed that the necessary network hardware is
installed correctly. The following discussion describes a network
currently in operation and receiving more than 1000 calls per week on
two telephone lines for the Computer Connection of Virginia Beach. The
hardware and software was:
1. 80286 based SERVER with 512K running at up to 9 mhz with:
Parallel-Serial Board on the AT with a serial port addressed as COM1
AST Rampage memory board configured with 2 megs of expanded memory
Monochrome Adapter with parallel printer port
PC Net adapter addressed as 0080 with default jumpers
Hard disk that can be divided into multiple volumes
Single High Density [1.2 meg] floppy disk
External modem and cable connected to COM1
2. 8088 based WORKSTATION with 640K running at up to 8 mghz with:
multifunction board with COM1, a clock, and parallel port
PC Net adapter addressed as 0011 with default jumpers
Color Graphics Adapter
Two 360K floppy drives
External modem and cable connected to COM1
3. Software -
Operating System = DOS 3.1 network-wide
Network Software = Orchid PC Net 3.0a
Disk Caching Software = Orchid CACHE.EXE version 2.2
RAM Disk = AST FASTDISK
Installation procedures ---
1. Preliminaries
1. Backup hard disk, system and network disks.
2. If your hardware is different, be sure to resolve INTerrupt conflicts
with the PC NET adapters. Disable second serial or parallel ports in
all PC's.
2. Using the WORKSTATION, boot with DOS 3.1 then
1. Create the SERVER and WORKSTATION boot disks with SPCGEN and UPCGEN
commands, respectively.
2. Copy device drivers for the hard disk, for the RAM disk, and for
Expanded and Extended memory (REMM.SYS and REX.SYS) to the SERVER
boot disk as well as CACHE.EXE. Place the following CONFIG.SYS file
for the SERVER:
device=spc.com <-- Network SERVER driver
device=REMM.SYS <-- Expanded memory driver
device=rex.sys 1024 <-- 1MB Emulated extended memory
device=fastdisk.sys 1024 512 128 /e <-- RAM disk in extended memory
3. Place the following commands in the AUTOEXEC.BAT file:
disk13 <-- Network for floppy disk use
cache [drives] d=128 x=896 /r <-- 128K cache of DOS memory & 896K of
EMS memory for SERVER drives to reduce
the number of disk accesses
spcbio 138023 <-- Tell network of interrupts used
4. Using the SERVER, boot with the newly created SERVER boot disk
1. Run the network program SPCINST.
2. After naming all the available drives on the server, assign all the
hard drive volumes to the WORKSTATION # 11 and them all READ/WRITE
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 184 of 232
capable. "Remote Execution" need not be enabled.
3. The SERVER will then reboot and the network will have the final
configuration as outlined above.
5. Boot the WORKSTATION with the newly created WORKSTATION boot disk and:
1. Add FILES = 16 to the CONFIG.SYS file for the WORKSTATION.
2. Use the network program UPCINST to communicate with SERVER # 80.
3. "Map" in all the drives that were assigned by the SERVER.
4. The WORKSTATION will reboot so the changes can take effect.
5. After the WORKSTATION reboots, do a DIR C: to see if the directory on
the SERVER hard disk can be read. If not, recheck cables, plug-in
cards for INTerrupt conflicts, and network adapter cards to verify
all jumper settings. If necessary, run the SELFTEST and NETTEST
diagnostics for the network adapter cards. Also, demonstrate the
ability to copy files across the network to and from the server then
verify the transfer using the COMP command.
6. Assuming that you are able to do a DIR across the network and copy files
to and from the SERVER, you are then ready to run CONFIG.EXE of RBBS-PC.
Run CONFIG and confirm use of RBBS-PC in a multinode environment.
Assign the number 1 Node to your SERVER.
1. Assign all welcome, bulletin, help and menu files to the SERVER's RAM
drive so the workstation may access them in the fastest way.
2. Store FILESEC, PASSWRDS, MESSAGES, USERS and other sensitive files in
a non-downloadable but sharable drive volume on the SERVER so the
workstation may have read/write access to them.
3. Select a location for the SERVER's CALLERS file and the
WORKSTATION's.
4. Reflect the node numbers in the BATch file names, e.g. RCTTY1.BAT and
RCTTY2.BAT, RBBS1.BAT and RBBS2.BAT.
5. Choose PCNET as the environment that you are running RBBS-PC under.
Other Considerations --
VDISK or Extended memory, which is not-emulated memory, should not be used
on the SERVER but can be used on the Workstation. The network
configuration most likely to remain operating with very few problems is DOS
3.1, Orchid 3.0a PC NET software and CACHE.EXE version 2.2 and an
Expanded/Extended memory combination using the new Lotus/Intel/Microsoft
EMS memory boards.
Two nodes can be efficiently set up using the SERVER in non-dedicated mode
but the danger is that if the SERVER locks up, the whole system locks up.
The sample PC Net system is set up in this fashion but it is an economical
approach to a two node system which has been functioning quite well with
minimal problems. Do not run software on the SERVER that is known to cause
problems especially memory resident utilities. There is a potential for
files being CROSS-LINKED in any read/write sharable environment. Frequent
backups are to be very strongly recommended.
Because of wide variety of hardware combinations and possible network
permutations, the above is intended ONLY as general guidelines to be
followed when installing RBBS-PC on your Orchid network.
Rob Cecchino
Sysop, Computer Connection
(804) 481-1824 at 1200/2400 for assistance.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 185 of 232
APPENDIX F -- RBBS-PC in an Alloy PC-SLAVE/16 Environment
---------------------------------------------------------
The PC-Slave is an IBM compatible computer on an expansion card
manufactured by Alloy Computer Products, Inc. of Framingham, MA 01701.
Their telephone number is (617) 875-6100. Adding PC-Slaves converts the PC
from a single CPU to a multiple CPU, all under the control of the main or
host PC. Each slave can run RBBS-PC (or other programs).
A. THE ADVANTAGES: Compared to other means for running multiple RBBS-PC's,
the advantages of slaves are:
1. SPEED -- Each copy of RBBS has a dedicated computer and therefore runs
very fast compared to multi-tasking products like Multi-Link, DesqView,
or Top View.
2. SHARED FILES -- Each bulletin board can share files, including the
users and messages. The PC Slave system acts like Orchid's PC-Net
network for record locking.
3. EXPANDABILITY -- You can have up to 31 slaves. The big advantage over
Multi-Link is that you have faster boards and can expand beyond 2
boards. The big advantage over networks is that you do not have to add
another PC, just another slave. The power supply and cooling capacity
of a PC-2 or XT limit you to adding only 2 slaves. An AT can have up
to five. You can buy PC compatibles that have more expansion slots.
You can also get an external hard disk with expansion slots. Or you
can buy an expansion chassis.
4. COSTS -- It is far cheaper to expand using PC-Slave/16's than a
network. The PC-Slave lists for $900 and can be purchased for
significantly less. Other networks require not only a separate PC but
also a "network" card of some sort which puts the costs of each port
well above $2,000.
5. DEDICATED PC IS NOT REQUIRED -- Your PC can remain free for you to use
while slaves run the bulletin boards (or run another copy of the
bulletin board). You do not degrade performance on the slaves, except
for contention for the hard disk and that can be mitigated by using
disk caching.
B. THE DISADVANTAGES: The disadvantages of a slave system are:
1. COMPATIBILITY --Not all hard disks are compatible with the slaves.
Hard disks known to be compatible include the Seagates, Priam 60 meg,
Bernoulli, and Maxtor hard disks, as well as the Alloy line of hard
disks. Hard disks definitely not compatible include all models of US
Design.
2. EXPENSIVE TO "SNOOP" -- Alloy supports several monitors attached to the
PC-Slave/16 (although a standard IBM PC monitor is not one of them) and
all require a special cable. The cheapest way to view the sessions on
the slaves from the host PC's monitor is modify one of Alloy's
utilities and run it. The modified utility is available on most RBBS-
PC's that run PC-Slave/16's such as Doug Azzarito's -- (407) 627-6969
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 186 of 232
or 6862. Another approach is to have a single monitor attached to a
switch box that lets the activity be viewed on any slave.
3. ONLY TWO SHARED DRIVES CAN BE WRITTEN TO -- At most two drives can be
shared for writing. All drives can be read from any slaves, but to
write on a non-shared drive, no other can write to it.
C. OVERVIEW OF SETTING UP A PC-SLAVE/16 RBBS-PC: Five easy steps on how to
install RBBS-PC in a PC-Slave/16 environment (Note that the PC Slave system
requires a special configuration for RBBS-PC):
STEP 1 -- You will have to purchase multiple telephone lines. They can be
made to roll so that only one number is called, and if busy, the call
will roll over to the other lines.
STEP2 -- Install the slaves. Remember to set switches on the slave boards
that number them consecutively. See the PC-Slave documentation for
details.
STEP 3 -- Install the software. The Alloy PC-Slave has to have special
Alloy software called NTNX to coordinate the slaves and process
requests for shared resources. You also have to run an Alloy routine
to prepare your hard disk for use with the Alloy slaves. See the PC-
Slave documentation for details.
STEP 4 -- Install a modem with no pin 22. Pin 22 used to be required with
RBBS-PC in order to answer the phone. On the slaves, pin 22 CANNOT be
connected, or else the slave will continuously reboot. However, newer
slaves support pin 22.
STEP 5 -- Configure RBBS-PC using CONFIG.EXE with the following parameters:
(a) use COM2 (parameter 201)
(b) Via parameter 29 tell RBBS-PC it is running on an IBM compatible
rather than a PC, XT, or AT. (Lie and tell RBBS-PC you have a
Compaq Plus.)
(c) Use CONFIG parameter 161 to set the maximum number of bulletin
boards to as many boards as you intend to install (rather than
the number you are currently running. This makes expansion
easier.).
(d) PC-Net is the multi-user environment you will be running under
and should indicate so via CONFIG parameter 162.
(e) Set up the RBBS-PC files.
An easy way to configure the multiple RBBS-PC's is to put each one in a
separate subdirectory, e.g. "RBBS1" for the 1st node, "RBBS2" for the
second, etc. Inside each subdirectory will be the callers file for that
node and the DEF file (RBBS1PC.DEF, RBBS2PC.DEF, etc.). The DEF files can
be the same. Make the default drive on each slave be the right
subdirectory. Path over to where the RBBS-PC.EXE is stored. Invoke each
RBBS-PC by using its node number, e.g. "RBBS-PC 1", "RBBS-PC 2", etc. You
can set up an autoexec for each slave that brings up the boards
automatically upon system boot.
Please note that the NTNX software is very vulnerable to any RAM resident
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 187 of 232
software. You should install the Slaves with no additional software
present and carefully test any resident software you want to run with it.
D. A DETAILED DESCRIPTION OF SETTING UP A PC-SLAVE 16 RBBS-PC:
Hardware Limitations:
1. Two PC/Slave 16 cards per XT box or five in an AT maximum otherwise
you'll be buying power supplies frequently. An expansion chassis for
four cards (Alloy Plus4) or expansion chassis for up to twelve cards
will be needed for bigger systems. Expansions boxes can be daisy-
chained to up to thirty one Nodes or workstations, if needed.
2. PC/Slave 16 cards do not support PIN 22 for Ring Detect. You must be
able to set your modem to AutoAnswer as well as NOT have PIN 22 wired on
your modem cables; if PIN 22 is connected, each callers RING will reboot
the Slave. However, newer slaves do support PIN 22.
3. No clock on the PC/Slave 16 card. The Slave gets the Time and date from
the main system clock and so one must be available.
4. A terminal such as a Kimtron KT-7/PC or Alloy PCST is required to
locally access and TYPE to a Slave. Other terminals will work but may
not support all of the IBM extended graphics codes. For a multi-node
RBBS-PC, one terminal can be used with an A-B-C-D switching box to 'dial
in' to the node you wish to work with.
5. The Slaves' CPU [NEC V20 @ 8 mghz] shuts down when writing to the hard
disk. This creates problems with timeout errors on uploads. Upload
problems can be eliminated by using the write buffer option in NTNX 1.64
or higher (/8). The problem can also be alleviated by using a fast hard
drive supported by Alloy. Also, the hard drive must be formatted with
the most efficient interleave setting and driver. Hard drives that work
without significant upload timeout errors have been formatted with
either Golden Bow's Vfeature Deluxe or Priam's formatting software; this
problem is especially noticeable on AT systems and not too much of a
problem on small XT systems. Seagate, Bernoulli Box, Maxtors, and Priam
Inner Space drives seem to work fine with the Alloy PC/Slave-16 cards.
Software Limitations:
1. ATNX runs Orchid PC Net applications but NTNX is more versatile and will
run applications for Novell's Advanced Netware, MS-Net, AND Orchid PC
Net with proper file locking. NTNX has had less problems with file
corruption and cross-linking than ATNX after polling current sysops
using Alloy Slaves.
2. ATNX and NTNX will allow users working on Slaves to easily and routinely
have read/write access on only TWO hard drive volumes.
3. ATNX and NTNX have difficulty keeping track of system date and time when
"certain" programs are run on the Slave. With RBBS-PC, running external
such as Ymodem and WXmodem cause the time and date on the Slaves to go
awry. Also, WXMODEM does not work in upload mode on Slaves due to a
timing problem in the initial handshake. Alloy's solution to this
problem is a file called UPTIME.COM, which is run on the HOST, but I
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 188 of 232
have had very poor results with it. The problem seems to be most
identifiable on AT class machines.
For the optimum system flexibility you may want to buy Alloy PC/Slave-16N
cards which have the special PAL chip for NTNX/Novell compatibility and
NTNX software. RBBS-PC, however, will run fine without the PAL chip even
under NTNX.
Some nice additional utilities for the Slaves, including special
diagnostics, are found in the separate PC-Plus Advanced User's Kit and are
worth having. A single Kimtron KT-7/PC terminal or other smart terminal
may be obtained right away but is not necessary for the bulletin-board-only
system as one can always sign on from remote for answering mail; pay
special attention to the terminal-to-Slave cable as it is non-standard and
you'll probably wind up making it yourself for less than $5 in parts -- one
end is a male 9-pin D-shell and the other is 25-pin RS232 male connector.
For a two to four node system, obtain a T-Switch box from Inmacs or Radio
Shack to hook the terminal as COMMON and Slave consoles. The computer to
house the Slaves, called the HOST, should be the quickest CPU speed that
you can obtain. All PC Slaves/16 should be purchased with 1 megabyte of
onboard RAM.
Installation:
1. Format your hard drive with either DOS 3.1 or 3.2.
2. Divide the hard drive into multiple volumes of standard DOS size (less
than 32 megabytes).
3. Install NTNX or ATNX and the Slaves as is written in the Alloy manuals.
Choose the default settings for everything. Use 512K on the 1 megabyte
PC/Slave for caching and the other 512 to run RBBS. Depending on how
the board is configured, you may need to set switches so that 512 is
used to run applications. Use 4K for the Host PC caching. Allocate 25
files per each Slave + 64 for the maximum number of open files.
4. Set up the CONFIG.SYS and AUTOEXEC.BAT files for the HOST as follows
especially if you do not plan to use the HOST as a Node for RBBS-PC:
CONFIG.SYS
device=NX.SYS - NTNX driver (must be first!!)
device=hard_drv.sys - Your hard Disk driver
FCBS = 32,32 - File Control Blocks increased
buffers = 20 - DOS buffers
files = 32 - Number of OPEN files on HOST
device = ANSI.sys - Extended graphics driver
AUTOEXEC.BAT
NTNX - NTNX driver
fm 3 - Level of File protection
prompt $p$g - customized dos prompt
path = ........ - set path to the NTNX files
5. Set up the CONFIG.SYS and AUTOEXEC.BAT files for the Slaves as follows:
CONFIG.U0x under DOS 3.2
FCBS = 32,32
buffers = 10
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 189 of 232
files = 30
device = ansi.sys
shell = C:\COMMAND.SLV C:\ /P /E:800
device = ANSI.SYS
Of special note, the SHELL statement has been used to expand the
environment space on the Slaves. This corrects a problem seen with
random RBBS lockups or getting Out of Memory errors; external protocols
and DOOR programs, given time, stop running due to memory problems if
one doesn't use this SHELL statement. Under DOS 3.1, set /E:50 [= 50
paragraphs] and under DOS 3.2, set /E:800 [= 800 bytes].
AUTOEXEC.U0x
fm 3
prompt $p$g
path = .......Set the path to the NTNX files and to the 'home'
directory for this node on the SHARED drives
cd\RBBS0x Change to the RBBS-PC directory for Node x
RBBSx.BAT Invoke RBBS-PC for Node x
6. CONFIG parameters for the slaves, must be the following parameters:
Parameter 29 (Type of computer): Compaq Plus.
Parameter 224 (Number of rings to wait before answering): 0.
Parameter 162 (Environment): Orchid PC Net.
Parameter 221 (Communications port): 2.
Maximum number of users: at least as many slaves as you have, plus
one if you plan to run a node on the host. You can specify more
(up to 36) if you want to plan for expansion.
7. Set up RBBS-PC as follows:
Create subdirectories \RBBS01, \RBBS02, \RBBS0x... on a shared drive.
Create subdirectory \MAIN for your upload directory, answers to
questionnaires, comments.
On a cached drive, place all static RBBS-PC files such as MENUs,
HELPs, PASSWRDS, TRASHCAN, external file transfer protocols. RBBS-
PC.EXE and CONFIG.EXE go here as well.
On the second SHARED drive, make a subdirectory \COMMON for MESSAGES,
USERS, CONFENCE, and conference message/user files.
If you plan to use DOORS, especially Bob Westcott's DOORWARE, create
a subdirectory called \DOORS on the SHARED drive.
Run CONFIG and create RBBSxPC.DEF files for all your nodes. Remember
that you will run multi-user under PC Net. To answer
on RING zero, the modem serial port on the Slaves must be addressed
as COM2 and not COM1. Double-check file locations! Put your static
text files in the same subdir as MESSAGES and USERS and make it the
default subdirectory
Copy RBBS1PC.DEF to RBBSxPC.DEF for each node that you hope to have
then re-edit each .DEF file to customize Node numbers such as
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 190 of 232
RCTTY1.BAT, RBBS3.BAT, etc.
Copy the RBBSxPC.DEF file to the matching subdirectory. If
you don't wish to edit the .DEF files, place RBBSxPC.DEF on one
shared drive and place the dynamic RBBS-PC files on the other
shared drive; be sure that you have at least logged into that other
SHARED drive's subdirectory, using the AUTOEXEC.U0x before starting
RBBS-PC or else RBBS-PC will not find those files.
Temporary files used for transfer or Verbose ARC listing are created
on the default subdirectory automatically. You may assign CALLERS
as either one file for all nodes or one CALLERS file for each node
located in the default directory.
To use Sysop Function 7 (Remote Drop to DOS), RBBS-PC must find
COMMAND.COM. PC-Slave/16's, however, use COMMAND.SLV as the
command processor; copy COMMAND.SLV to COMMAND.COM, place it on a
cached drive, and tell CONFIG where to find it. Be careful using
this Sysop function with the Slaves as you will lock up the Node if
you lose carrier; WATCHDOG is incompatible with the Slaves.
Additional tips/hints:
1. Avoid using any memory resident utilities. They may interfere with
Slave operation.
2. A program on the Advanced Utilities disk called SEE.COM allows callers
any Node to be viewed from the HOST.
3. Norton's Editor or WordPerfect Corporation's Programmers Editor from the
WordPerfect Library is used for editing operations on the system,
especially for maintaining the fixed-length directory of the file
management system. Not many other editors, except EDLIN, can be used
reliably.
4. Easy to forget but don't as it will be a source of frustration -- plan
out your file locations on paper before actually setting up the system.
5. Backup your system frequently!
If you have any questions or problems, feel free to leave a message on Ken
Goosens system (703) 978-6360
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 191 of 232
APPENDIX G -- RBBS-PC and 10 NET Network
----------------------------------------
Starting with RBBS-PC CPC15-1A support for Fox Research's' 10 Net Network
is being provided.
Since this is the first release with this support we have very little that
we can offer in tuning support for 10 NET.
We selected to use the Semaphore locking mechanism that we have used in the
other networks and therefore you must specify the following parameters on
the Superstation in your 10 NET network.
LOGINS=x 1 for every node on the system
OPENFILE=xxx 10 for every node running RBBS-PC
SHAREFIL=16 (This is the default you can add more if you want)
LOCKS=x 3
SEMA=xxx 3 for every node running RBBS-PC
You will also need to run NETSU and specify option 6 (DOS file sharing).
Please note that these values should be in addition to any parameters you
may have already specified for other User stations and other uses of your
10 NET network. And you can always make the values larger in attempting to
improve performance.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 192 of 232
APPENDIX H -- RBBS-PC and the Hearing-Impaired
----------------------------------------------
Telecommunications Devices for the Deaf (TDD's) use the Baudot character
set (i.e. 5-bit) and utilize modems that transmit at 45 baud and do not
generate a carrier signal. This is because such devices were initially
adaptations of surplus Western Union TTY machines for telephone
communications. The widespread use of Baudot devices by the hearing-
impaired, the previous high cost of computers and modems, and the lack of
software designed for electronic communications, has impeded the change to
ASCII communications by the hearing-impaired community.
Equipment manufacturers have also made it difficult for the deaf to change.
When TDD's with ASCII code transmission capability began to be offered, the
majority of manufacturers limited them to only 110 baud and put disclaimers
in their manuals that said ASCII was available for use but that "computer
language" was "less reliable" and hard to use. Their limiting of the TDD's
output screen to 12 to 20 characters further compounded the problem because
the screen would overwrite several times to display one line of text from a
host system. The manufacturers' "solution" to this problem was to
recommend printers for communication with such "host" systems as RBBS-PC.
Some units now offer both 110 and 300 baud ASCII transmission in addition
to the 45 baud Baudot. Unfortunately, these typically have only 20
character screens.
In December of 1984, Ted Janossy of Rochester, Minnesota, sent me a three-
page letter describing the above situation. Ted's letter motivated me to
test and verify the "ring-back" feature of RBBS-PC in CPC12-4A. It had
not been tested in earlier versions because I had assumed (presumptuously
and insensitively) that "real SYSOP's don't use ring-back RBBS-PC's."
Ted's letter awakened me to the potential of RBBS-PC to facilitate
communications among the hearing-impaired. In the awakening I also had a
chance to look down at my own feet of clay.
RBBS-PC can be configured to answer calls only after a specified number of
rings (i.e. 15). The telephone companies wire the homes of the hearing-
impaired such that when the phone rings, the lights within the house flash
on and off.
With RBBS-PC a SYSOP can specify the number of rings RBBS-PC is to wait
before answering the phone automatically. Setting this number high enough
allows someone with a hearing impairment time enough to get to the PC
running RBBS-PC. Pressing the PC's function key 5 (F5) causes RBBS-PC to
answer the phone immediately. The caller would know that someone was at
the keyboard because RBBS-PC answered the phone in less than the agreed-
upon number of rings. The caller would log onto RBBS-PC normally and the
person at the PC keyboard would be able to see who it was. If the person
who was called wanted to "chat" with the caller, all they would have to do
would be to press function key 10 (F10).
If RBBS-PC didn't answer the telephone within the agreed-upon number of
rings, the caller would know that whomever was being called couldn't come
to the keyboard. The caller would then log on and leave a message.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 193 of 232
APPENDIX I -- RBBS-PC and the IBM PCjr
--------------------------------------
RBBS-PC adheres to the Hayes standards for autoanswer applications that are
described in Section 9, "Writing Programs for the Smartmodem 1200," of the
the SMARTMODEM 1200 HARDWARE REFERENCE MANUAL. Under the section entitled
"Additional Program Considerations" Hayes recommends that autoanswer
applications (like RBBS-PC) "... force the modem to answer the call (ATA)
rather than allowing the modem to automatically answer...." Beginning
with CPC13-1A, RBBS-PC no longer REQUIRES the Ring Indicator signal from
the modem (pin 22) in order to answer the phone (except if parameter 224 of
CONFIG is non-zero).
Here are some facts about the PCjr:
1. The PCjr's external modem interface does not have a Ring Indicator
signal.
2. The PCjr requires that an external modem be opened as COM1 if no
internal modem is installed. However, if no internal modem exists the
PCjr requires that the COM2 RS-232 registers be used even though the
port has been opened as COM1. Technically this is described as using
the external RS-232 asynchronous adapter as logical channel 1 (i.e.
COM1) but manipulating it as physical channel 2 (i.e. COM2). This
occurs on a PCjr only when an internal modem is NOT present and the
external RS-232 interface is.
3. The 128K PCjr only provides 90K of usable RAM (the rest is used by DOS,
the monitor's buffers, etc.). Fortunately PCjr owners can get up to
512K of RAM with "add-on" equipment (from IBM and others) in order to
have enough RAM for RBBS-PC to run in.
4. The standard PCjr supplied by IBM does not have a DMA and hence can't do
communications I/O simultaneously while doing disk I/O.
RBBS-PC beginning with version CPC13-1A will run an IBM PCjr providing that
the PCjr
1. Has at least 320K of memory.
2. Disk I/O does not occur simultaneously with communications I/O (i.e.
either you have a second disk drive with a DMA or you set BUFFERS=0).
3. One of the following three modem configurations are used:
An internal PCjr modem with an external Hayes modem where the external
Hayes modem is used for RBBS-PC.
No internal PCjr modem with an external Hayes modem used for RBBS-PC.
Only an internal PCjr modem and it is used for RBBS-PC.
The following discusses each of these three modem configurations supported
by RBBS-PC with the PCjr.
Internal PCjr Modem with RBBS-PC Using External Hayes Modem
-----------------------------------------------------------
This configuration means that the PCjr has both a COM1 (the internal PCjr
modem) and a COM2 (the external Hayes modem). RBBS-PC is set up to use
COM2. No changes are required to for RBBS-PC for this type of PCjr
configuration. CONFIG parameter 224 should be set to 0. This will cause
RBBS-PC to set the external Hayes modem into "auto-answer" mode and RBBS-PC
will wait for carrier detect. This is the way that RBBS-PC overcomes the
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 194 of 232
PCjr's lack of "ring-indicator" signal for the external communications
port.
No Internal PCjr Modem With RBBS-PC Using External Hayes Modem
--------------------------------------------------------------
This configuration means that the PCjr has only one RS-232 interface -- the
external Hayes modem. This must be opened as COM1 but use COM2's registers
to control the communications port (believe it or not that's the way IBM
designed the PCjr).
CONFIG parameter 221 should be used to indicate that COM1 is being used.
Unfortunately the current BASIC compilers (both IBM's Version 2 and
Microsoft's QuickBASIC) are incapable of handling a communication port as
logical device 1 (i.e. COM1) but on physical channel 2 (i.e. the interrupts
are for COM2).
Should this ever be fixed by either IBM or Microsoft, CONFIG parameter 29
should be used to indicate that no internal PCjr modem is installed. This
tells CONFIG to make sure that COM2 registers are used to manipulate the
PCjr's external communications port.
Until this is fixed by the respective vendors, the PCjr user will have to
run a utility like COMSWAP that exchanges the pointers between COM1 and
COM2 within DOS.
In either case, CONFIG parameter 224 should be set to 0. This will cause
RBBS-PC to set the external Hayes modem into "auto-answer" mode and RBBS-PC
will wait for carrier detect. This is the way that RBBS-PC overcomes the
PCjr's lack of "ring-indicator" signal for the external communications
port. Again no changes to RBBS-PC are required for this type of PCjr
configuration.
Only An Internal PCjr Modem for RBBS and NO External Hayes Modem
----------------------------------------------------------------
For this type of PCjr configuration, you can take the CONFIG default
settings for the communications port (COM1) and specify that you are
running on a PCjr (parameter 29). However, make sure that CONFIG parameter
228 specifies that the modem is to be opened at 300 baud. Of course, RBBS-
PC will be only able to answer the telephone at 300 baud and send and
receive data from users who log on with their communications parameters set
at N/8/1 (i.e. no parity, eight data bits, and one stop bit) since RBBS-PC
is limited by the PCjr's own modem's limitations.
RBBS-PC already has the modem commands for the PCjr's very strange internal
modem in the logic to answer the phone so no changes to the .DEF file are
required.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 195 of 232
APPENDIX J -- RBBS-PC Subscription Service
------------------------------------------
It seems that many people absolutely must be on the bleeding edge of RBBS-
PC and demand each new version as soon as possible after it is released.
Since downloading it from my RBBS-PC usually keeps my board busy 24 hours a
day, seven days a week when each new version is released, and I want my
board to be used to encourage and engage in discussions, I offer the RBBS-
PC "Subscription Service" in order to free up my board.
Within the United States for $35 (prepaid by check or money order) you can
be guaranteed next day delivery of the very NEXT release of RBBS-PC just as
I mail it to the CPCUG Software Exchange. The diskettes will be sent to
you directly via Federal Express's "Courier-Pak" Overnight Envelope. In
case you are wondering who gets the $35 it is allocated as follows:
$ 25 -- Federal Express Charge for Courier-Pak
8 -- CPCUG Software Exchange
2 -- for the hassle the family puts up with and for rate changes
----
$ 35 = Total Cost Add: $5 for Alaska, Hawaii, and Puerto Rico
$11 for Europe, the Far East, and Australasia
Hopefully, this service will only be used by a very, VERY few! Most
releases have a few fixes that get published within the first week or two
that they are out. Because of this everyone is advised to check back for
fixes after each release goes out.
To obtain this service for the NEXT release (it does NOT apply to the
current or previous releases) fill out the following form and send it along
with your check or money order in U.S. funds (no purchase orders are
accepted and your canceled check is your only invoice).
+--------------------------------------------------------------+
| To: D. Thomas Mack RBBS-PC Subscription Service to|
| 39 Cranbury Drive the NEXT release of RBBS-PC (if|
| Trumbull, Conneticut any, and none are implied or |
| 06611 promised by this offer) |
|--------------------------------------------------------------|
|Date Requested: Date Received: |
|--------------------------------------------------------------|
|To (Recipient's Name): |
|--------------------------------------------------------------|
|Recipient's Phone Number (required): ( ) - |
|--------------------------------------------------------------|
|Exact Street Address (no P.O. Box or P.O. Zip Code accepted) |
| |
| |
|--------------------------------------------------------------|
| City | State or Country |
| | |
|--------------------------------------------------------------|
| Signature (required) | ZIP Code for Street Address|
| | |
+--------------------------------------------------------------+
Note: this is not a promise that there will be any new releases.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 196 of 232
APPENDIX K -- RBBS-PC National Listing Service
----------------------------------------------
Frequent inquires are made about a "national" list of RBBS-PC's. In order
to help SYSOP's (and potential SYSOP's) everywhere find configurations that
most closely match their own, with the introduction of RBBS-PC CPC12-5B an
additional public service was inaugurated to keep an "ACCURATE" telephone
listing of all publicly available RBBS-PC systems. The success of this
endeavor depends on you. If you would like a chance to stand up and be
recognized, please fill out and return the following form:
+--------------------------------------------------------------+
| To: Jon Martin RBBS-PC National Listing |
| 4396 N. Prairie Willow Ct. Service (if any, and none is|
| Concord, California implied or promised by this |
| 94521 offer) |
|--------------------------------------------------------------|
|Please REMOVE CHANGE ADD Date Requested: |
|(circle one) to your Listing. Date Action Taken: |
|--------------------------------------------------------------|
|SYSOP's Name: |
|--------------------------------------------------------------|
|DATA Phone Number (required): ( ) - |
|VOICE Phone Number (optional): ( ) - |
|Do NOT publish my VOICE number (please check) _____ |
|--------------------------------------------------------------|
|Exact Street Address (no P.O. Box or P.O. Zip Code accepted) |
|(Address will not be published. For my information only.) |
| |
|--------------------------------------------------------------|
| City | State |
| | |
|--------------------------------------------------------------|
| Signature (required): | ZIP Code for Street Address|
| | |
| | |
+--------------------------------------------------------------+
| Detailed System Information |
| RBBS Name :_________________________________________|
| Operating Hrs.(EST):_________________________________________|
| Specialty of RBBS :_________________________________________|
| Baud Rates :_________________________________________|
| Number of Nodes :_________________________________________|
| Modem Vendor/Model :_________________________________________|
| Computer Type :_________________________________________|
| Memory :_________________________________________|
| Multi-Function Card:_________________________________________|
| Monitor Vendor/Type:_________________________________________|
| Disk Storage :_________________________________________|
| Special Cards :_________________________________________|
| DOS Version :_________________________________________|
| Related Software :_________________________________________|
|--------------------------------------------------------------|
| Additional information/comments: |
| |
+--------------------------------------------------------------+
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 197 of 232
APPENDIX L -- RBBS-PC and The Ark-Paradyne Modem Switch Settings
----------------------------------------------------------------
IMPORTANT: This information is NEW and needed for RBBS-PC versions CPC16-
1A and greater.
The ARK Modem is somewhat Hayes compatible, therefore some changes must be
made to use this modem. Because of major improvements in RBBS-PC, the
modem can now be used in both of its modes, Normal and Hayes. To use the
HAYES (tm) mode follow this procedure:
A.) Using CONFIG.EXE supplied with RBBS-PC, select and change the following
parameters:
Parameter 224 Number of rings to wait before answering -------- 1
Do you want ringback? (YES/NO) ----------------- NO
Parameter 225 Use the RBBS-PC default Hayes commands?--------- NO
1. Reset the modem ------ : ATZ or ATV0Z
2. Initialize the modem - : ATM0Q0S2=255S10=30E0S0=0
(Note the use of "Q0" to initialize the modem)
3,4,5 Use the defaults supplied
Parameter 227 Issue modem commands between rings ------------ YES
Parameter 228 Baud rate to initially open modem at --------- 2400
Parameter 237 Leave modem at initial baud rate --------------- NO
Parameter 244 Modem flow control uses Clear-to-Send (CTS) ---- NO
Parameter 245 Modem flow control uses XON/XOFF --------------- NO
For the ARK 24K (not 24K PLUS) use the following switch & jumper settings:
Switch 1 UUUDDUUD (where U = Up = On and D = Down = Off)
Switch 2 UDDDDUDD
Switch 3 DUUDUUUU
MODEM DTE/CLOCK FLOW BUSY DTR
JUMPERS E8-E9 E15-E16 E4-E7 E11-E14
For the ARK 24K PLUS use the following:
Switch 1 UUUDDUUD last down = Hayes mode
Switch 2 UDDDDUDD first up = auto answer off
Switch 3 DUUDUDDD last three down = "auto baud"
Modem Jumpers - Use the factory defaults on all
B.) You can also use the ARK NORMAL mode with a fixed terminal rate. The
modem talks to RBBS at 2400 and talks to your user at 300, 1200, 2400.
One problem noted was that upon return from dropping to DOS, the baud
rate reverted back to 2400. If you were remote and using a 1200 baud
modem, things get very messy. It has been noted with some external
protocols that a similar problem exists. I don't recommend this
setting unless you are willing to take some risks. You must also use
flow control. Make the settings as follows:
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 198 of 232
Parameter 224 Number of rings to wait before answering -------- 1
Parameter 225 Use the RBBS-PC default Hayes commands?--------- NO
1. Reset the modem ------ : ATV0Z
2. Initialize the modem - : ATM0Q0S2=255S10=30E0S0=0
3,4,5 Use the defaults supplied
Parameter 227 Issue commands between rings ------------------ YES
Parameter 228 Baud rate to initially open modem at --------- 2400
Parameter 237 Leave modem at initial baud rate -------------- YES
Parameter 244 Modem flow control uses Clear-to-Send (CTS) --- YES
Parameter 245 Modem flow control uses XON/XOFF -------------- YES
The following is recommended for the ARK 24K Modem:
Switch 1 UUUDDUUU (NOTE 8th position) +++
Switch 2 UDDDDUDD
Switch 3 DUUDUUUU
MODEM DTE/CLOCK FLOW BUSY DTR
JUMPERS E9-E10 E15-E16 E4-E7 E11-E14
The following is recommended for the ARK 24K Plus Modem:
Switch 1 UUUDDUUU
Switch 2 UDDDDUDD
Switch 3 DUUDUUUU
C.) You can also use the Hayes mode with rings set to zero but you can't
use Doors or Sysop drop to DOS. (This mode has proven to be very
reliable)
Parameter 224 Number of rings to wait before answering -------- 0
Parameter 225 Use the RBBS-PC default Hayes commands?--------- NO
1. Reset the modem ------ : ATZ
2. Initialize the modem - : ATM0Q0S2=255S10=30E0S0=1
3,4,5 Use the defaults supplied
Parameter 227 Issue commands between rings ------------------ YES
Parameter 228 Baud rate to initially open modem at --------- 2400
Parameter 237 Leave modem at initial baud rate -------------- NO
Parameter 244 Modem flow control uses Clear-to-Send (CTS) ---- NO
Parameter 245 Modem flow control uses XON/XOFF --------------- NO
The following is recommended for the ARK 24K Modem:
Switch 1 UUUDDUUD (note 8th position)
Switch 2 DDDDDUDD (note 1st position)
Switch 3 DUUDUUUU
MODEM DTE/CLOCK FLOW BUSY DTR
JUMPERS E8-E9 E15-E16 E4-E7 E11-E14
The following is recommended for the ARK 24K Plus Modem:
Switch 1 UUUDDUUD
Switch 2 UDDDDUDD
Switch 3 DUUDUDDD
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 199 of 232
Technical comments on the Ark Modems for your interest.
1. Ark Modems can't accept any commands if the "AA" (auto answer) light is
on and the phone is ringing until the number of rings equals the number
set in the S0 register. RBBS-PC expects to issue a "modem answer
command" when it detects a ring and is ready. If the Ark modem can't
accept this command, it won't answer the phone. You therefore cannot
use the ring-back system or answer on a ring greater than 1.
2. Another interesting difference is that when the modem is in the "quiet
mode" (Q1) NO results will be sent to the computer. If we inquire as to
the number of rings received, it responds with absolutely nothing.
3. In the Ark Normal mode, if you enter a reset command ATZ or Z, it
requests a confirmation of "Confirm (Y/N) >" and you must enter a Y or
else it does nothing. We can get around this with a ATV0Z which
tricks this into an un-conditional reset.
4. If you attempt to operate in the ARK NORMAL mode at 2400 baud and set
the DTE/CLOCK jumper to E8-E9, the modem will "downshift" to a baud rate
to match the caller, which is normal. Assuming you downshift to 300
baud you must reset it with a ATZ at 300 Baud. RBBS resets it at the
initial rate of 2400 baud and therefore the modem is "hung". Obviously
this is not recommended.
The following modems were tested: 24K - ROM versions 2.21, 2.23, 2.31 24K
PLUS - ROM ver 3.63.
If you have questions on this modem contact:
Dave Hacquebord,
Sunshine Bulletin board,
Tampa, Fl.
Voice: 1-813-884-4267
Data: 1-813-887-3984
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 200 of 232
APPENDIX M -- RBBS-PC And the Anchor Signalman Express (MK12)
-------------------------------------------------------------
The following are the switch and jumper settings for the Modem.
Switch 1 = Off
Switch 2 = Off
Switch 3 = On
Switch 4 = On
Switch 5 = On
Switch 6 = On
Switch 7 = On
Switch 8 = On
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 201 of 232
APPENDIX N -- RBBS-PC and the Everex 2400 modem switch settings
---------------------------------------------------------------
The Everex Evercom 24 is an internal 2400 BAUD modem. It has 4 switches on
the mounting bracket. If you are using COM1 then all switches should be in
the OFF position. If you are using COM2 see the Installation Guide for the
correct switch settings.
The Evercom does not have non-volatile memory like the Hayes 2400 and the
ATZ command will reset the modem to factory defaults. It is therefore not
necessary to use CONFIG to set the Hayes 2400 defaults. Because of this
major difference you must use CONFIG parameter 225 to change the standard
modem defaults. Select parameters 2 and 5 and enter the command just as it
is but with the addition of &D2. This will instruct RBBS-PC to add &D2 to
the standard modem initialization string each time the system recycles.
Please note that although the Evercom 24 manual indicates that &D2 is the
default that this is a misprint in their manual and &D0 is the real default
for the &D command. Parameter 7 can be ignored since they this is for
battery backed up modems only.
NOTE: Make sure that &D2 is inserted immediately following the "AT" when
modifying parameters 2 and 5 of parameter 225!
A special thanks goes to Carl Margolis (Everex) for his help in identifying
these restrictions so that Evercom 24 users can now reliably use RBBS-PC.
Do not select parameter 225 if you are using an Everex 1200 BAUD modem.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 202 of 232
APPENDIX O -- RBBS-PC and the Prometheus 2400G modem switch settings
--------------------------------------------------------------------
Underneath the 2400G is a bank of 10 switches that set certain operating
characteristics of the ProModem 2400G. Only 3 (1,2 & 10) of these switches
are currently implemented. The others are reserved for future expansion.
All three of these switches must be in the off position for the 2400G to
function properly with RBBS-PC.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 203 of 232
APPENDIX P -- RBBS-PC and The US Robotics Modems Switch Settings
----------------------------------------------------------------
Both the US Robotics COURIER 2400 and COURIER HST modem switch settings
should be as follows:
1 2 3 4 5 6 7 8 9 10 gang switch
U U U D D U U D D D UUU (Where U = Up = Off and D = Down = On )
The Courier 2400 is a high quality, trouble free modem that is highly
recommended and which works well with all the RBBS-PC defaults.
The USR COURIER HST modem switch setting should be as follows:
1 2 3 4 5 6 7 8 9 10 gang switch
U U U D D U U D D U UUU (Where U = Up = Off and D = Down = On )
RBBS-PC supports both modes of the USR HST Modems.
MODE 1:
-------
In the first mode of operation, CONFIG parameter 228 should be set to the
highest speed you intend to support. When the HST modem detects a carrier,
it sends (at the baud rate set in parameter 228) an ASCII string to RBBS-PC
which contains the new BAUD rate. The modem will change it's baud rate to
match that of the caller's and RBBS-PC will correctly adjust to the modem's
new baud rate. The following CONFIG parameters should be set:
Parameter 222 -- set to 3 to allow the modem enough time to initialize
Parameter 223 -- set to 2
Parameter 227 -- set to NO
Parameter 228 -- set to 9600
Parameter 237 -- set to NO
Parameter 244 -- set to YES
Parameter 245 -- set to NO
You should also reply "NO" to parameter 225, CONFIG will show you a menu of
8 different modem commands. The ONLY command that needs to be changed is
number 7, "Initialize the modem firmware". It should be:
AT&A1&B0&H1&I0&M4&N0&R2&S1&Y3
The meaning of this HST-specific initialization string is as follows:
&A1 = Display/ARQ result codes
&B0 = DTE/DCE rate follows connection rate
&H1 = Hardware (Clear To Send, Pin 5) flow control
&I0 = Flow control disabled
&M4 = Normal if ARQ connection cannot be made
&N0 = Negotiate highest possible link rate with remote modem
&R2 = Received data output to terminal on Request to Send high (Pin 4)
NOTE: If your HST 9600 modem responds 961 or greater to the ATI
command, substitute &R1 for &R2.
&S1 = Modem controls Data Set Ready
&Y3 = Nondestructive, unexpedited break signal
The highest effective data transmission rate in this mode is 9600 baud.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 204 of 232
MODE 2:
-------
In this second mode the USR Modem supports the MNP data compression
technique which effectively transmits data over the phone at rates in
excess of 17K baud. Setting up your HST to support both the standard 300,
1200, 2400, and the higher 9600 and 17K baud rates requires that the HST
modem speed be "fixed" at 19.2K baud. The PC running RBBS-PC will
communicate with the HST modem attached to it at a fixed rate of 19.2KB.
The actual data link speed will default to the highest rate that the
caller's modem will support.
Parameter 222 -- set to 3 to allow the modem enough time to initialize
Parameter 223 -- set to 2
Parameter 227 -- set to NO
Parameter 228 -- set to 19200
Parameter 237 -- set to YES
Parameter 244 -- set to YES
Parameter 245 -- set to NO
You should also reply "NO" to parameter 225, CONFIG will show you a menu of
8 different modem commands. The ONLY command that needs to be changed is
number 7, "Initialize the modem firmware". It should be:
AT&A1&B1&H1&I0&M4&N0&R2&S1&Y3
The meaning of this HST-specific initialization string is as follows:
&A1 = Display/ARQ result codes
&B1 = DTE/DCE rate is fixed at allowable rate
&H1 = Hardware (Clear To Send, Pin 5) flow control
&I0 = Flow control disabled
&M4 = Normal if ARQ connection cannot be made
&N0 = Negotiate highest possible link rate with remote modem
&R2 = Received data output to terminal on Request to Send high (Pin 4)
NOTE: If your HST 9600 modem responds 961 or greater to the ATI
command, substitute &R1 for &R2.
&S1 = Modem controls Data Set Ready
&Y3 = Nondestructive, unexpedited break signal
This will enable the COURIER HST to use the built-in MNP protocol at the
highest possible baud rate that can be negotiated with the calling modem --
providing the calling modem is also a COURIER HST modem. The highest
effective data transmission rate in this mode is 17200 baud.
After replying NO to CONFIG parameter 225 and changing the initialization
modem command as described above for either MODE 1 or MODE 2 for the
COURIER HST, CONFIG parameter 231 should be selected in order to initialize
the COURIER HST. This places the setting in the HST's non-volatile random
access memory (NVRAM) and need only be repeated if the NVRAM is changed
(i.e. you use the modem with applications other than RBBS-PC that change
the NVRAM).
For the COURIER 2400, set CONFIG parameter 228 to 2400. For the COURIER
HST, set parameter 228 as specified above for either MODE 1 or MODE 2.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 205 of 232
APPENDIX Q -- RBBS-PC and the FASTCOMM 2496 Turbo Modem
-------------------------------------------------------
The FASTCOMM 2496 9600 and 19200 baud modems work with RBBS-PC without
modifications to RBBS-PC.
However some unusual quirks were noted with the FASTCOMM hardware. The
modems would NOT follow terminal baud rate in the command mode if the
transition was from 300 to 9600 (or 19,200) baud. Therefore, if RBBS-PC
were configured to initially operate at 9600 baud, it would not properly
reset after a 300 baud call. It would, however, follow all other changes
within the range of RBBS-PC. If it was configured to initially answer at
both 2400 and 4800 baud and it worked equally well with calls at 300, 1200,
2400, 4800, 9600 and 19200 baud for both cases. Therefore set CONFIG
parameter 208 to 2400 baud!
It is recommended that CONFIG parameter 224 be set to answer on one ring!
Specific instructions for modem set up are as follows:
1. Using the BASIC program SETFC.BAS below, set the default modem
settings. This can also be done manually from a communications
program. The speed that is used to establish the default modem settings
is the speed to which the modem defaults on reset and power on. It is
best to do this setup at the same speed that RBBS-PC uses as its
default speed, namely 2400 baud. In any case do not do it at 9600 baud.
2. Tell RBBS-PC to open the modem at 2400 baud by setting CONFIG parameter
208 to 2400 baud.
3. Use CONFIG parameter 225 to change the modem reset command from "ATZ" to
"AAATZ". This string of A's resets the modem to the terminal baud rate
so it can respond to the other commands. If you want to experiment,
watch the modem respond to you when you change baud rates in your
favorite communications program. This modem function is referred to as
"autobaud". You will probably not see the first "A" echo and sometimes
not the second. You should always see the third "A". Others have
advised that their modems would "autobaud" from 300 to 9600 baud. Mine
would not.
4. Use CONFIG parameter 225 to change the modem answer string to include X2
instead of X1 (the CONFIG default).
Stan Staten has extensive experience with RBBS-PC and the FASTCOMM 2496
modems. If you have any questions regarding their use with RBBS-PC, give
Stan's RBBS-PC system a call at (301) 869-7650.
On the next page is STAN's SETFC.BAS program's BASIC source code to set the
FASTCOMM modem. It can be run under the BASIC interperter or can be
compiled using QuickBASIC from Microsoft. SETFC.EXE and SETFC2.EXE (for
COM2:) can be downloaded from Stan's BBS.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 206 of 232
10 'title: 'SETFC.BAS, Copyright 1986 by H. Stanley Staten
20 'SYSOP 3 WINKs BBS, 301-670-9621
30 '
40 DEFINT A-Z
50 CLEAR
60 '
70 ' ********************************************************************
80 ' * ROUTINE TO INITIALIZE THE FASTCOMM 2496 MODEM'S FIRMWARE *
90 ' ********************************************************************
100 '
110 COM.PORT$ = "COM1" 'Change to "COM2:" for COM2: use
120 PRINT "Setting FASTCOMM 2496 firmware for RBBS-PC on " + COM.PORT$
130 '
140 ' *********************************************************************
150 ' * *
160 ' * INITIALIZE THE FASTCOMM 2496 VOLATILE MEMORY. SET THE FOLLOWING: *
170 ' * *
180 ' * AT#F = Set to factory defaults *
190 ' * AT#LCN = Set carrier detect to normal *
200 ' * AT#LDN = Set DTR to normal *
210 ' * AT#LX2 = Set for XON/XOFF flow control *
220 ' * ATS7=30 = Set wait for answer tone to 30 seconds *
230 ' * ATM0 = Turn speaker off *
240 ' * ATV1 = Issue long form of results codes *
250 ' * ATX2 = Full result messages *
260 ' * ATS57=1 = Hang up and reset automatically executed *
270 ' * ATE0 = Do not echo modem commands back to the PC *
280 ' * ATS10=10 = To cause to reset on loss of carrier faster *
290 ' * ATS58=3 = Force a 19200 Baud call to 9600 Baud locally*
300 ' * ATS22=46 = Suggested by the vendor *
310 ' * ATS0=0 = Don't answer until told to. *
320 ' * AT#W = Write settings to non volatile memory *
330 ' * *
340 ' *********************************************************************
350 '
360 OPEN COM.PORT$ + ":2400,N,8,1,RS,CD,DS" AS #3
370 PRINT #3,"AAAAAAAT"
380 PRINT #3,"AT#F"
390 PRINT #3,"AT#LCN"
400 PRINT #3,"AT#LDN"
410 PRINT #3,"AT#LX2"
420 PRINT #3,"ATS7=30"
430 PRINT #3,"ATM0"
440 PRINT #3,"ATV1"
450 PRINT #3,"ATX2"
460 PRINT #3,"ATS57=1"
470 PRINT #3,"ATE0"
480 PRINT #3,"ATS10=10"
490 PRINT #3,"ATS58=3"
500 PRINT #3,"ATS22=46"
510 PRINT #3,"ATS0=0"
520 PRINT #3,"AT#W"
530 SYSTEM
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 207 of 232
APPENDIX R -- RBBS-PC and the ZOOM Modem HC2400
-----------------------------------------------
In order to use the "ZOOM HC2400" modem with RBBS-PC parameter 225 should
be changed as shown below. Only #2 and #5 need to be changed.
Changes in #2. Add '&D2' just after 'AT'. Change 'S2=255' to 'S2=43'.
Change in #5. Add "&D2' just after 'AT'.
1. Reset the modem : ATZ
2. Initialize the modem : AT&D2M0Q1S2=43S10=30E0Q0X1S0=0
Note: End item 2 with:
S0=1Q0X1 if answer on 0 rings
S0=254 if answer on >0 rings (no ring-back)
S0=255 if answer on >0 rings (with ring-back)
3. Count the number of rings : ATS1?
4. Answer the phone : ATQ0X1V1A
5. Take the phone off the hook : AT&D2Q1E1H1M0
6. Clear the modem's firmware : AT&F
7. Initialize modem's firmware : AT&C1&D3B1E0V1M0S0=0&T5
Note: End item 7 with:
Q1 if item 2 ends with S0=255
8. Write to modem's firmware : &W
For further information contact:
Jeff L. Watts
STATESVILLE RBBS-PC
Data # (704) 873-8482
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 208 of 232
APPENDIX S -- RBBS-PC And The AT's RS-232 Cable
-----------------------------------------------
The RS-232 serial connector is different for the AT than the PC or XT. The
AT uses a connector called a DB-9, which is a 9 pin connector. An
alternative to buying the AT serial cable from IBM, ($65-$80), is to make
your own. A ten-wire cable can be purchased from any local computer store
for about $.80 per foot, and the DB-9 and RS-232 connectors with hoods can
be purchased from Radio Shack. The total cost should be about $12.00. A
modem hooked up to the AT will work fine with the 9 pins connected in all
terminal functions, except for auto-answer applications such as RBBS-PC.
RBBS-PC requires pin 1 from the modem to be hooked up to the chassis ground
on the AT or it can't answer the phone. There are two ways to hook up the
ground wire on the computer end. The first way is to use a metal hood to
cover the DB-9 connector. Wrap a bare wire that is attached to pin 1 of
the RS-232 connector around the cable on the DB-9 end. When the metal hood
is screwed down over the cable a connection will be made. When using a
plastic DB-9 hood simply solder a wire from pin 1 on the RS-232 end to the
metal body of the DB-9 connector. Since documentation is scarce for the
AT, following figure lists the necessary pin connections for those wanting
to make their own AT RS-232 cable.
DB-9 RS-230
(Computer (Modem Description
End) End)
========= ======= ==================
GROUND -------- 1 -------- Protective Ground
1 -------- 8 -------- Data Carrier Detect
2 -------- 3 -------- Receive Data
3 -------- 2 -------- Transmit Data
4 ------- 20 -------- Data Terminal Ready
5 -------- 7 -------- Signal Ground
6 -------- 6 -------- Data Set Ready
7 -------- 4 -------- Request to Send
8 -------- 5 -------- Clear to Send
9 ------- 22 -------- Ring Indicator
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 209 of 232
APPENDIX T -- RBBS-PC And BASIC Compiler Patches for "Doors"
------------------------------------------------------------
Both the IBM Version 2.0 BASIC compiler and Microsoft's QuickBASIC compiler
offers a lot of needed features to compiled BASIC programs. Regrettably,
they also included a few "problems."
For those who use RBBS-PC to "exit" to DOS (either via a "door" or as a
remote SYSOP), the code generated by the new BASIC compilers would "help"
you by dropping carrier when you chose to return to RBBS-PC from DOS or a
"door." Help like this RBBS-PC didn't need.
Jeff Porter was the first to document a six step "patch" to the IBM BASIC
Version 2.0 compiler and to BCOM10.LIB of the QuickBASIC Version 1.0
compiler that corrects this problem within the logic of the code generated
by the QuickBASIC compiler. Subsequently, Rod Bowman of "The PC Spectrum",
(714) 945-2612,, subsequently, provided similar patches to the BCOM20.LIB
of the QuickBASIC Version 2.0 and 2.01 compiler.
As I stated earlier:
"RBBS-PC continues to grow and expand because hundreds
(and quite possibly thousands) of SYSOP's spend the
time and trouble not only to modify RBBS-PC to meet
their needs, but also to share these modifications
with others."
Please note that nowhere in the following documentation does Jeff describe
the hours and hours it must have taken him to find the fix to the problem.
Nowhere does he ask anything for himself for his efforts. As I have said
so often "I am very proud of the company that RBBS-PC keeps."
1. DTR Patches for the QuickBASIC Version 1.x through 3.0 Compilers
-------------------------------------------------------------------
As anyone who has tried to write any programs that use COM1: or COM2:
with MicroSoft QuickBasic knows, the DTR modem control line is dropped
every time a a communication file is opened or closed. The original patch
for the BASIC compiler was developed by Jeff Porter. Subsequently Rod
Bowman supplied patches for the QuickBASIC compilers that followed. The 10
step procedure (7 if you have QuickBASIC 2.0 or above) is as follows:
1. Copy BCOMxx.LIB to BCOMxxBK.LIB where:
xx = 10 for QuickBASIC Version 1.0, 1.1, and 1.2
= 20 for QuickBASIC Version 2.0 and 2.01
= 30 for QuickBASIC Version 3.0
2. Run DEBUG and load BCOMxx.LIB with the command:
DEBUG BCOMxx.LIB
3. Display the following section of data with the command
-dZZZZ L 10
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 210 of 232
where ZZZZ = 0540 for QuickBASIC Version 1.0, 1.1, and 1.2
= D368 for QuickBASIC Version 2.0
= D858 for QuickBASIC Version 2.01
= DC08 for QuickBASIC Version 3.0
4. Verify the the data displayed contains the following sequence
nnnn:ZZZZ 83 C2 04 32 C0 EE EB
If the data displayed contains the above sequence of numbers (they may
be contained within the other numbers displayed), continue. Otherwise,
go to section 2.
5. Assemble in the correct instructions for the patch as follows:
Enter the command "-a QQQQ"
where QQQQ = 054C for QuickBASIC Version 1.0, 1.1, and 1.2
= D36B for QuickBASIC Version 2.0
= D85B for QuickBASIC Version 2.01
= DC0B for QuickBASIC Version 3.0
The system will respond with the prompt "nnnn:QQQQ" where "nnnn" is
what was shown in step 5 and QQQQ is what was entered in step 5. After
this prompt enter a space and the instructions "mov al, 1". Press
enter and at the next prompt hit enter without entering anything. This
second enter informs DEBUG that you are finished assembling.
6. If you are not patching QuickBASIC Version 1.x, continue to step 9.
For QuickBASIC Version 1.x, there is a second place that needs to be
corrected. Display the following section of data with the command
-d830 L 10
7. Verify the the data displayed contains the following sequence
rrrr:0830 83 C2 04 32 C0 EE EB
If it doesn't, then go to section 2. It it does continue on
8. Assemble in the correct instructions for the patch as follows:
Enter the command "-a 0839". The system will respond with the prompt
"rrrr:0839" where "nnnn" is what was shown in step 6. After this
prompt enter a space and the instructions "mov al, 1". Press enter and
at the next prompt hit enter without entering anything. This second
enter informs DEBUG that you are finished assembling.
9. Now write the modified BASCOMxx.LIB out by issuing the command "w" at
the prompt (i.e. "-w").
10. Finally, quite the DEBUG session by issuing the command "q" at the
prompt (i.e. "-q").
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 211 of 232
2. Jeff Porter's DTR Patches for the IBM BASIC Version 2.0 Compiler
--------------------------------------------------------------------
If you do not have MicroSoft QuickBasic or if you have a different
version than I, you can probably still perform this patch. You will
have to find the correct locations to patch. The addresses 054C and
0839 were found with the following procedure:
1. Search for the byte sequence 83 C2 04 32 C0 in the library
file. If you are lucky, debug will find it in exactly two
places.
(for example:)
-s 100 fff0 83 C2 04 32 C0
2. Unassemble the addresses you found. The first two
instructions will be
ADD DX, +04
XOR AL, AL
Within the next few instructions should be
OUT DX, AL
3. If everything has gone correctly so far, just change the
XOR AL, AL
to a
MOV AL, 1
4. Perform this change in both places where the
XOR AL, AL
instruction was found.
5. Write the updated file.
3. DTR Patch for the QuickBASIC Version 4.0 Compiler
-----------------------------------------------------
The following are the instructions for modifying the orginal QuickBASIC 4.0
to keep DTR from dropping when returning from DOS/DOORS while running RBBS-
PC.
1. Make a backup copy of the BCOM40.LIB file, just in case.
2. Run debug and load BCOM40.LIB
A>debug bcom40.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-d 100 L 5
xxxx:0100 F0 OD 00 00 CA
4. xxxx may be different for each computer. Add 850 (hex) to xxxx in
order to calculate yyyy. Remember these are hexadecimal numbers and
this is hexadecimal addition.
5. Search for two occurances of the offending code.
-s yyyy:0 FFFF 83 C2 04 32
YYYY:A53F
YYYY:A809
6. Unassemble the six bytes of code at the first location.
-u YYYY:A53F L 6
YYYY:A53F 83C204 ADD DX,+04
YYYY:A542 32C0 XOR AL,AL
YYYY:A544 EE OUT DX,AL
If this is not what you find, do not proceed further.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 212 of 232
7. Now unassemble the six bytes of code at the second location.
-u YYYY:A809 L 6
YYYY:A809 83C204 ADD DX,+04
YYYY:A80C 32C0 XOR AL,AL
YYYY:A80E EE OUT DX,AL
If this is not what you find, do not proceed further.
8. Now change the code at the first location by assembling
-a YYYY:A542
YYYY:A542 MOV AL,1
YYYY:A544
9. Now change the code at the second location by assembling
-a YYYY:A80C
YYYY:A80C MOV AL,1
YYYY:A80E
10. The patch is complete -- write the file back to disk and quit debug.
-w
Writing 331DD BYTES
-q
This patch was developed by Rod Bowman of The PC-Spectrum RBBS-PC and
documented by Jon Martin of the AIRCOMM RBBS-PC (415) 689-2090.
The original QuickBASIC Version 4.0 has a know bug that precludes
applications that SHELL to other applications when both the SHELLing
application the application SHELLed to access the communication port.
Therefore, RBBS-PC is distributed compiled under Version 3.0 of QuickBASIC.
The practical effect of this QB4 bug is that the external file transfer
programs can't be SHELLed to from RBBS-PC when RBBS-PC has been compiled
with QB4.
This DTR patch for QB4 does NOT fix the Microsoft SHELL problem in QB4!
After QuickBASIC Version 4.0 was initially released, Microsoft started
shipping a QuickBASIC Version 4.0B that does have the DTR patch
incorporated in it and "may" fix the SHELLing problem. However, this has
not yet been verified by RBBS-PC.
4. DTR Patch for the BASIC Version 6.0 Compiler
-----------------------------------------------------
This is a patch for BASCOM 6.0 that corrects the DTR/carrier drop problem.
Bob Eyer developed it and Steve Kling verified that the patch work. There
are two places in BASCOM's BCOM60ER.LIB that need patching. Each place
requires a substitution for the following code:
83C204 ADD DX, +04
32C0 XOR AL, AL
EE OUT DX,AL
Just as in QB 1.x, the statement XOR AL, AL has to be changed to MOV AL, 1.
First make a backup of BCOM60ER.LIB. Using Norton (or any good sector mod
program), search for 83C20432C0EE. This string only occurs twice in
BCOM60ER.LIB unlike QB, so any match needs patching. When found, change
32C0 to B001 and do it again. B001 is the opcode for MOV AL, 1 whereas
from above you can see that 32C0 is XOR AL,AL.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 213 of 232
APPENDIX U -- Using RBBS-PC to access Data Bases Remotely
---------------------------------------------------------
1. The Need for Data Base Services
A feature that has been long missing from PC based host communication
systems is the ability for SYSOPs to install customized data bases and let
callers run true interactive data base queries against them. Because data
base management is a major programming task, the most promising way to add
data base services is to uses RBBS-PC's original and innovative "DOOR"
mechanism to exit RBBS-PC and have the remote user enter an existing data
base management program.
"DOOR"ing to a data base management program, however, is not as easy as one
might hope. The major problems stem from the fact that data base
management programs are never designed to work in this environment. This
is because:
1. Most programs write to the hardware for speed rather than use bios
calls, causing the "screen" output to appear on the host terminal rather
than on the caller's terminal.
2. Data base programs do not monitor for carrier. If carrier drops they
simply sit forever waiting for input rather than terminating.
3. Most use "full screen" rather than "line at a time", which usually does
not work properly on a remote terminal.
4. Security. Most data base programs have no way to limit what a user can
do. For example, they do not have a read-only mode, or the ability to
restrict a user to specific files or fields. Many let the user issue
dos commands inside them, which gives to call too much power.
5. Difficulty in learning to use. A caller can hardly be expected to know
how to use a data base. Hence it must be possible to simplify and
control the user interface inside the data base package.
Progress has been made with two of the most popular PC data bases -- ORACLE
and dBASE!
Using dBASE "DOORS" with RBBS-PC
--------------------------------
db/LIB is a relatively new piece of software by AJS Publishing of North
Hollywood, CA that makes remote dBASE access possible. db/LIB is a set of
two assembled libraries which can be used to create/modify dBASE data
structures, create/update dBASE indices, and naturally manipulate the dBASE
records. These libraries also have many replacements for dBASE
functions/commands not easily replicated (ie. IIF, RECNO(), DATE(),
RTRIM(), DELETED(), etc.) outside of the dBASE environment.
db/LIB was designed to work with Microsoft Quick BASIC and BASIC Compiler
6.0, but it should work with any high level Microsoft language.
dBASE Remote Access Advantages/Disadvantages
Combine db/LIB with any well written door skeleton (such as the very fine
skeleton written by Phil Dewitt) and you can have a true shareable remote
database system. The following section highlights some advantages and
addressess the problems concerning remote dBASE database access.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 214 of 232
Advantages of using db/LIB and dBASE data bases:
1. Purchase of dBASE is not required. db/LIB can create modify and
maintain any dBASE structure. A program with db/LIB and downloaded by
a third party can give these same freedoms to a third party. Sample
programs with db/LIB demonstrate that most of dBASE's functions can be
replicated or subistituted using db/LIB.
2. If dBASE is owned, then the two work very well in tandem. The
programmers at Ashton-Tate didn't gain their reputation for writing
junkware. By owning dBASE, the user can download any database
structure and perform any data manipulation easily in a familiar
environment.
3. Screen writes, security, carrier monitoring, error trapping, are all
handled by the door skeleton. Let database modules run the database,
and let the door modules run the door.
Disadvantages of using db/LIB and dBASE data bases:
1. Remote dBASE database access is not the same as accessing dBASE III
remotely. Creation of these DOORS requires knowledge of Quick BASIC,
some knowledge of data communications, and some knowledge of dBASE.
All end user requirements have to be anticipated, all cases covered,
and created in advance. Once the application is created, then user
need no little or nothing about any of the above.
2. db/LIB doesn't provide a full ANSI editor for remote access. This has
been done in some door skeleton's already, and would need to be
implemented in order for the user to work in a full screen
environment. Current working doors all use a scrolling or terminal
type of display. It isn't any harder to add an ANSI display to this
type of door than to any other door; it's just that it hasn't been
done yet.
For those interested in dBASE-based on-line data base searches with RBBS-
PC, you might try writing Steven Kling at 4009 Utah Ave., Brentwood, MD
20722. Steven is the author of BBS_BASE. BBS_BASE is a dBASE III
demonstration DOOR that maintains a database of Bulletin Board names, phone
numbers, etc. This database can be queried, added to, edited, and up to
the minute reports can be generated. The entire database with indices can
be downloaded by the user for personal use. This database is indexed and
therefore can be queried either by name or phone number. BBS_BASE was
written only as a demonstration of using RBBS-PC to access a data base
remotely. Steve is also the SYSOP of
Technopeasants' EAST BBS at (301)-927-4258
Brentwood, MD (PC Pursuitable)
24 Hours/ 2400 baud.
Steven maintains a dBASE conference, where the latest versions of remote
dBASE doorware can be found. Steven is very interested in promoted
discussions, sharing information in an effort to make dBASE remote
accessing easy for all RBBS-PC SYSOPs.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 215 of 232
Using ORACLE with RBBS-PC for On-line Data Base Access
------------------------------------------------------
Another database package that is able to be used as a "door" is ORACLE from
Oracle Corporation at One Oracle Parkway in Belmont, California 94002.
Their number is (415) 598-8000. ORACLE is a very promising solution to
providing remote data base services. Oracle addresses the problems
mentioned earlier as follows.
1. Screen writes. ORACLE user bios calls. All output appears perfectly
normal on remote terminals through the CTTY interface in RBBS-PC.
2. Monitor for carrier. Run WATCHDOG, which will reboot your system if
carrier drops.
3. Full screen mode. ORACLE uses only ANSI commands to control the users
screens. Callers whose remote communications package implements ANSI
support therefore see full screen writes exactly the same as local
users. FULL SCREEN WORKS!
4. Security. ORACLE has all the security you could ever want because it
was designed for multi-user systems.
5. Usability. ORACLE implements SQL, which is increasingly becoming an
industry standard that all major data base systems are supporting.
Of course, there are some problems using ORACLE in a way in which it was
never designed:
1. There is a problem getting the function keys to work properly
remotely.
2. The ability for a caller to use DOS commands needs to be disabled
within ORACLE.
3. Callers who do not know SQL need pre-structured queries and a menu
interface to be designed for them. ORACLE supports a full screen
interface but the user interface in ORACLE is not as programmable as
one would like.
For those interested in ORACLE-based on-line data base searches with RBBS-
PC, you might try writing John Prior at P.O. Box 2168, Rockville, MD 20852-
2168. Steve is the SYSOP of
SQLBBS at (301)-881-6588
Rockville, MD (PC Pursuitable)
24 Hours/ 2400 baud.
The SQLBBS is a specialized bulletin board system specializing in
supporting relational data base managers and making the power of SQL
available to callers. SQLBBS uses an RBBS-PC door to get into ORACLE. The
SQLBBS has implemented ORACLE to help manage the data processing for the
National Council for Children's Rights (NCCR), and have several major data
bases on-line for general interest. People can contact John Prior, the
SQLBBS SYSOP, on Compuserve or MCI, by mail, or call SQLBBS if they wish to
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 216 of 232
see how ORACLE is implemented, get the latest progress report, or share
experiences implementing data base services. Here are details on the
SQLBBS system and how to reach both John and it:
Modem: 2400 Baud Hayes
BBS Number: 301/881-6588
Hours: 24 hrs/day
Address: Prior Computer Service Inc.
POB 2168
Rockville MD 20852-2168
Compuserve ID: 76266,1072
MCI MAIL ID: JPRIOR
SYSOPS: John F. Prior
Steve J. Prior
Tony Zelof
SQL Tables Roster of the House of Representatives
Available Roster of the Senate [both with addresses etc.]
Now The States [2 char abbreviation and full name]
Call SQLBBS as you would any other RBBS-PC system. Go through the Door.
SQLBBS executes a "SELECT * FROM TAB;" for you which shows you the tables
and views you can access. At the UFI> prompt execute any SELECT command
you want against any table or view.
"SELECT * FROM STATES;" returns all rows [records] of
the STATES table.
"SELECT * FROM STATES WHERE ST = 'MA';" returns all rows about the
state whose two-character code
is "MA".
"SELECT COUNT(*) FROM STATES;" gives you a count of the rows
in the STATES table.
If you substitute another table or view instead of STATES such as SENATE,
you can access other tables/views.
"DESC HOUSE" would return the column names
of the HOUSE table.
"HELP" gets you help.
"HELP SELECT" gets you help on the SELECT
command.
"HELP SET" gets you help on the SET
command which can control many
options for display etc.
"SHOW ALL" shows you everything you can
SET.
"EXIT" terminates UFI and returns you
to RBBS-PC.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 217 of 232
APPENDIX V -- Using RBBS-PC with SEAdog to Access FIDO-NET
----------------------------------------------------------
SEAdog is a full-featured electronic mail system based on the personal
computer and using standard telephone lines. It is a sophisticated store-
and-forward mail system which can be configured in a virtually unlimited
number of network topologies (more on this later). Unlike some network
systems, the end user need never concern himself with network routing -- it
all happens automatically. The user just submits and retrieves messages,
the system takes care of the details. The hardware needed to run RBBS-PC
is sufficient to run SEADOG.
SEAdog uses the FidoNet Electronic Mail Protocol, as defined in the
document, A Basic FidoNet Technical Standard, published by the
International FidoNet Association (IFNA). The FidoNet Protocol is a public
domain electronic mail standard originally developed by Tom Jennings for
the Fido bulletin board system. For more information about the FidoNet
Protocol, please write to:
The International FidoNet Association
P.O. Box 41143
St. Louis, Missouri 63141
United States of America
There are several advantages to using the FidoNet Protocol, not the least
of which is that a great many utilities and programs are available from
many different vendors for doing various things with electronic mail.
Please contact IFNA at the above address for more information.
The heart of SEAdog is the network mail server, MAILER.EXE. This is the
program that places and receives phone calls, handles message routing, and
so forth. It is left running when you would normally turn your machine
off.
You can set RBBS-PC to drop to DOS at a time when telephone costs are
cheapest (normally 4AM Eastern Standard time and 1AM Pacific time) and
invoke the mailer so that it begins placing phone calls to other SEAdog
systems to pass them your outgoing mail and receive your incoming mail.
SEAdog costs $100.00 and can be ordered from the address or phone number
below.
Thom Henderson
SYSTEM ENCHANCEMENT ASSOCIATES
21 Wayne Street
Wayne, New Jersey 07470
V:201-473-5153
This doc file is not intended to replace the SEAdog manual, but rather
provide information that an RBBS-PC SYSOPsysop would find useful when
configuring RBBS-PC to run with SEAdog.
The current status of the RBBS-PC - SEAdog project is at the level in which
RBBS-PC has the ability to be front-ended by SEAdog in where SEAdog will
turn over to it a live, active modem with a caller waiting. RBBS-PC has
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 218 of 232
been modified to accept two additional command line parameters which can
alter the defaults in RBBS-PC.DEF. Currently, that is the extent to which
RBBS-PC and SEAdog can be used together. The Fido message base format is
not yet compatible with RBBS-PC.
It is assumed that you are reading this because you are familiar with the
RBBS-PC and have at least a minimum knowledge of FidoNet and FidoMail.
Another assumption is that you have RBBS-PC up and running on your
computer. The easiest way to get all two programs working together is to
have each running from it's own subdirectory on your hard disk. That'll
make maintenance of RBBS-PC and SEAdog specific files much easier. Follow
the instructions in the SEAdog manual to install it, if that hasn't been
done yet. Once installed all SEAdog files will be in a subdirectory called
\MAIL. Make any required modifications to your CONFIG.SYS as suggested in
the SEAdog manual.
If your using DOS 3.xx, and don't use the DOS SUBST command, you should
consider doing so. SUBST is a DOS external command that allows you to
SUBSTitute a drive letter for a complete subdirectory name. Using this
command will make reprogramming RBBS-PC's configuration file easier.
This appendix assumes that all the SEAdog Files are in a subdirectory
called C:\MAIL and those for RBBS-PC are in a directory called C:\RBBS.
A further assumption that is made is that a new drive "H:" will be
SUBSTitued for the C:\RBBS subdirectory.
Since SEAdog will be in controls most of the time, the entire operation
should use SEAdog's C:\MAIL directory as the default.
Now load and run CONFIG.EXE and reprogram it's configuration to reflect
that all RBBS's help, menu and system files are located on the "H:" drive.
Remember the SUBSTitute command? You can use it to replace those long
subdirectory names for download and upload files. SPECIAL ATTENTION must
be paid to CONFIG.EXE's parameter 163. This parameter MUST be set to SYSTEM
recycle. Not doing so will cause RBBS-PC to reload itself after a caller
has hung up or dropped carrier and not pass control back to SEAdog.
The SEAdog manual explains various commands that must be placed in it's
configuration file called CONFIG.DOG. Among those that are considered a
minimum, you should include at least the following....
banner Please stby, 15 secs to load RBBS-PC
bbs H:RBBS *T *B
event B all 4:30 5:00 ;Local collections
event A all 5:00 6:00 ;National FidoMail Window
event C all 6:00 7:00 ;Local distributions
event S all 7:00 4:00 Crash Dynamic BBS ;CRASH mail if not in RBBS
event X10 all 7:00 7:05 ;Reboot Computer
The banner statement should be used so that human callers know why there
is a delay from the time they connect until the time they see RBBS-PC
display it's welcome message. The bbs command tells SEAdog what batch
file to run when passing control to RBBS. *T and *B must be in the order
presented above in for RBBS-PC to pickup and use them correctly. They pass
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 219 of 232
the time remaining to the next scheduled SEAdog event and the baud rate the
caller came on with. Event statements tell SEAdog how to schedule it's
time during the day. The above example conforms to the FidoNet national
mails hours as of 26 July 1987 and allows crash mail and bbs operation at
all others.
Since the SEAdog *P parameter in the bbs command isn't used, you must
insure that the comm ports used for RBBS-PC and SEAdog are the same.
One of the more confusing decisions will be how to setup the modem
switches. Without going into it too deeply, keep in mind that SEAdog will
be controlling the modem and passing an active modem on to RBBS-PC.
Additionally, you could have your SEAdog upload and download areas overlap
those of RBBS-PC.
When SEAdog determines that a a non SEAdog or Fido system has called, it
runs a second copy of DOS, then optionally loads and runs RBBS-PC via
direct command or from a batch file, passing the speed that the comm port
was opened at, and the time remaining to the next scheduled SEAdog mailer
event as in the following example:
SEAdog calls RBBS-PC via a batch file called RBBS.BAT
C>RBBS-PC 1 H:RBBS-PC.DEF /%1 /%2
| | | | |> Baud Rate
| | | |
| | | |
| | | |> Limits the amount of time the user has
| | | this session if and only if the time is
| | | less then the time per session specified
| | | in CONFIG.EXE.
| | |> RBBS-PC default file filespec (Optional)
| |> Node number that the specified .DEF file applies to.
| (Optional)
|> The name of the RBBS-PC program.
With a properly configured RBBS.BAT batch file, you can retain all the
functions of RBBS to include DOORS and dropping to DOS via SysOp function
#7. See the sample batch files at the end of this file.
Experience has shown that the best way to run RBBS-PC and SEAdog is with a
batch file, where SEAdog having determined that a non mailer system is
waiting to use the bbs will load and run a batch file that controls RBBS-
PC's operation as opposed to SEAdog calling RBBS-PC directly. Two batch
files are used, one to control SEAdog and one to control RBBS.
A minimum batch file is suggested in the SEAdog manual. In addition to what
ever you place in it, add the following statements to it.
If Exist H:RCTTY.BAT Del H:RCTTY.BAT
This line should be the first. This statement simply helps ensure proper
operation of RBBS-PC if you use SYSOP function #7 or DOORS.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 220 of 232
If Errorlevel 10 Goto REBOOT:
This line goes after the line that contains the call to the MAILER program.
REBOOT:
IPL
This line reboots the computer every morning according to event listed
above. Due do unexplained loss of memory when running SEAdog and RBBS-PC,
is safe to program in a scheduled rebooting of the computer to regain any
loss of memory. This line should be near the last and programmed around for
normal operations
** Ex RBBS batch file **
Echo Off
:LOOP
C:
Cd \MAIL
If Not Exist H:RCTTY.BAT Goto LOCAL
H:WATCHDG1 OFF
Del H:RCTTY.BAT
H:TESTRBBS 1 H:RBBS-PC.DEF
Goto REMOTE
:LOCAL
H:TESTRBBS 1 H:RBBS-PC.DEF /%1 /%2
:REMOTE
If Not Exist H:RCTTY.BAT GOTO EXIT
H:WATCHDG1 ON
H:RCTTY.BAT
:EXIT
As mentioned above, this doc file isn't intended to make you completely
knowledgeable on how to interface RBBS-PC and SEAdog, only get you started.
How you set up your RBBS-PC and SEAdog batch files is limited only by your
ability and imagination. After gaining more experience, you'll find that
you can automate a lot of the RBBS-PC and SEAdog maintenance.
The above reflects the creative things that Kim Wells, Fido Address
109/652, has done with interfacing RBBS-PC with the Fido net-mail system.
If you need further help, contact Kim Wells's RBBS-PC via his data line at
(301) 350-1299.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 221 of 232
APPENDIX W -- DOS Limitation on Running Programs Remotely
---------------------------------------------------------
When accessing your PC via a communications port, the carrier detect signal
tells the PC that you are on-line. DOS's major limitation is that there is
no way to tell DOS to monitor carrier detect automatically when the
standard input and output is transferred to a communication port (i.e. via
the CTTY command). RBBS-PC makes sure that the carrier is not dropped
when a user exits to DOS either via the "DOORS" option or using the remote
SYSOP function 7. However, it is the SYSOP's responsibility to insure
that whatever programs are invoked after leaving RBBS-PC perform all
the necessary functions to maintain the communications session and, when
exiting to return to RBBS-PC, that the carrier is "NOT" dropped.
Most application programs (i.e. databases, etc.) are not designed to be
controlled by users accessing them from a communications port. This
problem is solved when a function is invoked that:
1. Checks to see if the standard input and output console have been
assigned to an auxiliary console such as a communication port.
2. If condition 1 is true, checks to see if the carrier detect signal is
lost by intercepting each interrupt from the communication port
the auxiliary console has been assigned to.
3. If BOTH conditions 1 and 2 are true, this function would cause DOS to
return to the standard screen and keyboard for its operations AND
continue processing whatever batch file that had been executing.
Such a function (or device driver) would provide a "fail safe" feature that
would allow users to exit RBBS-PC to use whatever other software the
SYSOP chose to make available (i.e. relational databases for complex
inquiries -- bibliographic, sports, games, etc.). For those
anticipating using RBBS-PC's "doors" or exiting to DOS when you are a
remote SYSOP, you are strongly encouraged to consider using the "watchdog"
utility program available on many bulletin board systems under such file
names as WATCHDOG.COM, WATCHDOG.ASM, WATCHDOG.DOC, WATCHDOG.EXE that
monitors the communication port for you and reboots your system if carrier
drops. If you don't use a program like WATCHDOG and accidentally hang up
while in a "door" or in DOS, you system will remain "hung" until you can
manually reboot it.
Programs that utilize the PC's built in video memory (such as the IBM BASIC
interpreter or WordStar when it writes to the 25th line) need to have such
I/O redirected in a special way to a remote users terminal. Additionally,
if the I/O is redirected to the communications port, the terminal on the
other end must have a "cursor" that can be sent the appropriate command
sequence to move it around on the remote users terminal as necessary.
Without this capability, programs made available through "doors" must be
line-at-a-time programs. This of course excludes programs such as
WordStar, Lotus/123 etc.
If you aren't technically inclined and want to use RBBS-PC "doors", I
suggest you consider only using programs that have been explicitly written
to overcome the above two DOS limitations. Applications that don't write
directly to the video memory of the PC can be used safely as a "door" as
long as a "watchdog" type program is also used.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 222 of 232
APPENDIX X -- Using RBBS-PC with DoubleDOS
------------------------------------------
Two nodes of RBBS-PC can be operated on one 640K PC/XT/AT under DoubleDOS.
First, make sure DoubleDOS and RBBS-PC, individually, operate correctly on
your computer. Then, the DDCONFIG.SYS file can be changed to facilitate
operation of RBBS. SoftLogic Solutions, the DoubleDOS supplier, operates a
customer service BBS at 603-644-5556 and can often help with special
problems. (An example: DoubleDos version 4.0 must be modified with their
special patch in order to operate on machines using EEMS memory controlled
by AST's REMM.SYS driver.)
DoubleDOS even has a special interrupt that RBBS-PC calls to "give back"
unused time to the foreground job when it really doesn't need the time, so
that during periods of low communications activity, the foreground job runs
at essentially 100% of the machine's speed. GIVEBACK is incorporated into
releases CPC16-1A (and greater) of RBBS-PC.
The DOS (3.1 or greater) utility SHARE should be run before starting
DoubleDOS to provide for file locking.
RBBS-PC, due to the code generated by the BASIC compiler, requires a
considerable amount of memory. If insufficient memory is available, RBBS-
PC may fail to load, may report a string corrupt error, may hang, or, worst
of all, may appear to start and operate normally only to fail later. A
(partial) test of whether enough memory is available is to note the DS free
space in the SYSOP initial menu when operating under DoubleDOS compared to
naked DOS; any reduction in this reported free space may indicate memory
shortage. The best approach, unfortunately, is to start with more memory
than necessary, get your system going reliably, and then do a crude cut-
and-try process of reducing memory until problems first appear; then back
off up to an again-reliable memory setting.
Terminate-and-stay-resident programs (e.g. ramdisks, print spoolers, Side
Kick) will reduce the memory available to RBBS-PC. Buffers specified in
the CONFIG.SYS file also reduce available memory. Some versions of DOS are
smaller than others; every little bit of memory helps. Large programs may
not run in the second DoubleDos memory section after starting RBBS-PC in
the first.
Because of these memory considerations, SHELLing to DOORS and external file
transfer protocols will not be possible. If these features of RBBS-PC are
used, they will need to be invoked by EXITing to them.
The BASIC compiler version used determines the amount of memory required.
Two nodes of RBBS(version 16.1A), have been demonstrated to operate
successfully under DoubleDOS when compiled with Quick Basic 1.02 and RBBS-
PC's memory requirements reduced (see Appendix Y). When compiled with
Quick Basic 2.x, 3.x or 4.x, two nodes will not fit under DoubleDOS. To
save memory, expert SYSOPS who are adept at compiling/linking their own
custom versions of RBBS-PC, can selectively (and at their own risk) delete
from the source code sections that they do not require. Such personal
versions should not be circulated to others. If this is done, the more
recent compilers may produce code compact enough for 2 nodes.
DoubleDOS has several parameters that can improve RBBS-PC operation.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 223 of 232
Sample:
menu = short ;the long menu requires more memory
display = text ;to not reserve graphics buffer
print driver = direct ;use direct drive, no buffer reserved
bottom size = half ;split memory for two RBBS nodes
priority = equal ;both nodes run at same speed
The next items may be desirable to provide protection, in case any program
in the other memory section should try to use a COM port assigned to RBBS-
PC.
com1 = top ;obviously these two port assignments
com2 = bottom ;could be reversed
Possible circumstances that might warrant this protection:
1. SYSOP makes a COM port assignment error in the .DEF file for the other
node.
2. one node is temporarily shut down by the SYSOP to run another program.
Some programs (e.g. some versions of BASIC) initialize both COM ports
(clobbering RBBS-PC) when started.
Warning: this protection is known to be unusable on some machines (e.g.,
works fine on IBM-PC 8088, does not work on AST Premium 286 or TATUNG 4000
AT).
It is convenient (and safer, to prevent keystroke errors) to automate your
startup. In your AUTOEXEC.BAT file you should initiate DOUBLEDOS as the
last item. It will then start, using the DDCONFIG.SYS file for detailed
RBBS-PC instructions. Sample DDCONFIG.SYS contents (this will vary
according to your exact setup):
top program = prompt TOP $p$g
top program = go
bottom program = prompt BOT $p$g
bottom program = go
Note that the change in prompt allows a single batch file, GO.BAT, which
has the single statement of GO%PROMPT%, to execute the correct node of
RBBS-PC in either node. Nothing is more embarrassing than to start a node
that is already operating. All that need be typed is GO<RETURN> and either
GOTOP or GOBOT will be executed. (Actually the GO batch file execution
looks like "TOP C:\DDOS>GOTOP $p$g". The $p$g is ignored.) GOTOP.BAT
might then look like this:
C:
CD\RBBS
RBBS1
RBBS1.BAT would then be the first node RBBS.BAT as discussed in this
document. Similarly, GOBOT would start RBBS2.BAT for the second node.
Stan Staten, RBBS-PC number (301) 670-9621
Kurt Riegel, RBBS-PC number (202) 524-1837)
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 224 of 232
APPENDIX Y -- Recompiling RBBS-PC to Reduce Memory Requirements
---------------------------------------------------------------
RBBS-PC has always sought to live up to CPCUG's Bill of Rights for Software
Users which maintains, among other things, that each software user has a
right to "integrate software products into his or her system environment
without undue constraints." For this reason, RBBS-PC has chosen to be as
configurable as possible through the program CONFIG with over 200 different
parameters. Additionally, RBBS-PC has always been distributed with the
complete BASIC source code with each new release.
It is this kind of leadership (by example) and recognition of software
users rights that makes RBBS-PC unique in the personal computer industry.
RBBS-PC is continually being enhanced with new features. As new functions
and capabilities are added, RBBS-PC's memory requirements grow
correspondingly. In order to continue RBBS-PC's growth and still meet the
memory constraints imposed on SYSOPs with only 640K of memory who wish to
run two copies of RBBS-PC, RBBS-PC source code can be "mite-sized" and
recompiled to fit within whatever memory constraints a SYSOP must deal
with.
SYSOPs can apply .MRG files against the unmodified RBBS-PC source code and
elect to eliminate RBBS-PC features not being used and eliminate redundant
code (typically the BASIC source code that replicates assembly language
routines). RBBS-PC Version CPC17-1A has a companion "mite-size" set of
files contained in the file LIT-171A.ARC dated 9/18/88.
In order to recompile and "mite-size" RBBS-PC, within the same environment
in which the SYSOP has successfully recompiled the current release of RBBS-
PC Version CPC17-1A the SYSOP must also have the following files:
BLED.EXE -- The Batch Line EDitor by Ken Goosens (version 2.0 or
greater).
MAKELIT.BAT -- The BATch file that invokes BLED.EXE and applies the the
necessary files to the unmodified source code. This file
should be modified by putting in the drive/path for the
original code (the first parm to BLED). The lines to be
modified all begin with "*$", which is the default for a
BLED metacommand. The lines beginning with "* " are BLED
comments, which are ignored in a merge.
SETLIT.INC -- The file through which the SYSOP selects the RBBS-PC
features that are not needed. The directions for doing
this are contained within this file. A feature is typically
removed by setting a BLED metacommand variable to "OFF",
e.g. BAUD450 to "OFF" to save code by excluding the RBBS-PC
feature that allows 300 baud uses to increase their baud
rate to 450 while on-line. To exclude RBBS-PC LIBRARY
subsystem set LIBRARY to "OFF".
RBBSLIT.MRG -- The fundamental BLED merge for CPC17-1A's RBBS-PC.BAS
SUBxLIT.MRG -- The fundamental BLED merge for CPC17-1A's various
RBBSSUB's. Each reads in (includes) the file SETLIT.INC to
set the metavariables used by BLED. BLED then uses the
values to determines what merges to process.
*.LIT. -- .MRG files that eliminate RBBS-PC features.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 225 of 232
The procedure for "mite-size"ing RBBS-PC Version CPC17-1A is as follows:
1. Select the RBBS-PC features not required for your needs and modify the
file SETLIT.INC.
2. Change MAKELIT.BAT to reflect your PC's subdirectories.
3. Make sure RBBSSUB1.BAS is in the subdirectory you will run in.
4. Execute the MAKELIT.BAT file. Do not continue if errors are found.
5. Recompile the "mite-siz"ed RBBS-PC source code. Remember, this "mite-
sized" source code and the RBBS-PC.EXE file created from it my only be
used by you and not distributed to others.
Some comments on the various Microsoft QuickBASIC compilers:
QuickBASIC Version 1.02 produces the smallest code.
QuickBASIC Version 2.01 produces the next smallest code.
QuickBASIC Version 3.00 produces the largest code.
QuickBASIC Version 4.00 produces the best code (smaller than
3.00) but has problems with SHELLing.
Never LINK with the /E option.
6. Re-run CONFIG and disable the RBBS-PC features that were deleted in the
"mite-sized" version that was created in steps 1 through 5 (i.e. take
out the "A" command if questionnaires were disabled).
Please realize that there is no way that the "mite-sized" variations of
RBBS-PC can be supported. The many different PC configurations plus the
multitude of combinations of RBBS-PC features are what make this
impossible. However, we will do our best.
Please report any problems with BLED or the *.LIT merges to Ken Goosens via
his RBBS-PC data number -- (703) 978-6360.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 226 of 232
APPENDIX Z -- RBBS-PC and the MICROCOM AX\9624c Switch Settings
---------------------------------------------------------------
First set the Microcom AX\9624c switch settings as follows:
CONFIGURATION SWITCH SETTINGS FOR THE MICROCOM AX\9624c MODEM
=============================================================
1 2 3 4 5 6 7 8 9 10
--------------------------------------
Front Switch - U D D D D U U D U U
Rear Switch - U U D U D D D D - -
Change CONFIG parameter 228 to open the modem initially for 9600 baud.
Then go to CONFIG parameter 225 and change some of the default Hayes
commands.
Within parameter 225, you will want to change the second command,
"Initialize the modem." If you want RBBS-PC to answer on one ring set it
to:
ATM0Q1S2=255S10=45E0S0=254&D2
To answer on zero rings, set it to:
ATM0Q1S2=255S10=15E0S0=0Q0X1&D3
Please note that these change the default Hayes commands supplied with
RBBS-PC for S10. Also note that an &D command was added to the end. If
you are set up to answer on ring zero and your modem sometimes stops
answering for no reason that you can isolate, alter the S10 value to "45"
and &D2. You may also want to activate CONFIG parameter 236 to "wake up"
the modem.
These configurations will allow RBBS to establish a MNP reliable or non-
reliable connection from 300 to 9600 BAUD using the AX\9624c's MNP class 6
Universal Link Negotiation capability.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 227 of 232
APPENDIX AA -- RBBS-PC and the Leading Edge Series L 2400B Modem
----------------------------------------------------------------
Gregg Snyder, SYSOP of "The Elusive Diamond" - DGS (Alpha) System, and Jim
Thompson of "The Break" -DGS (Delta) System (Data: 703-680-9269) are to be
created with documenting how to get the Leading Edge Series L 2400B modem
to run with RBBS-PC ("all modems are Hayes-compatable, but some are less
Hayes-compatable than others").
First you must set CONFIG parameter 228 to open the modem at 1200 baud.
Next go to CONFIG parameter 225 and set the modem commands as follows:
1. Reset the modem : ATB1H0L1M0C1
2. Initialize the modem : ATH0B1L1M0Q1E0S0=254
Note: End item 2 with:
S0=1Q0X1 if answer on 0 rings
S0=254 if answer on >0 rings (no ring-back)
S0=255 if answer on >0 rings (with ring-back)
3. Count the number of rings : ATS1?
4. Answer the phone : ATQ0X1V1A
5. Take the phone off the hook : ATH1L1M0
6. Clear the modem's firmware : AT&F
7. Initialize modem's firmware : AT&C1&D3B1E0V1M0S0=0&T5
Note: End item 7 with:
Q1 if item 2 ends with S0=255
8. Write to modem's firmware : &W
These settings have been tested for more than a year by Jim Thompson
beginning with RBBS-PC CPC15-1C.
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 228 of 232
CONFIG Parameter Cross-Reference Index
--------------------------------------
The following is a complete cross-reference listing of all CONFIG
parameters. As an example, the fourth entry in the cross-reference index
shows that Parameter number 101 is referenced on pages 85, 99, 131, and 180
of the RBBS-PC Version CPC17-1A's documentation.
Parameter 1, 74
Parameter 10, 75
Parameter 101, 85, 99, 131, 180
Parameter 102, 85
Parameter 103, 85, 127, 131, 177
Parameter 104, 85, 127, 131, 177
Parameter 105, 85, 142
Parameter 106, 86
Parameter 107, 86
Parameter 108, 86
Parameter 11, 75, 88
Parameter 12, 75, 83
Parameter 121, 86, 141
Parameter 122, 87
Parameter 123, 87, 146, 147
Parameter 124, 87, 90
Parameter 125, 87, 93, 119
Parameter 126, 87
Parameter 127, 87, 116
Parameter 128, 87
Parameter 129, 87
Parameter 13, 76
Parameter 130, 87
Parameter 131, 87
Parameter 133, 87
Parameter 134, 87
Parameter 135, 87
Parameter 136, 88
Parameter 137, 88
Parameter 138, 88
Parameter 139, 88
Parameter 14, 76
Parameter 140, 88
Parameter 141, 88
Parameter 142, 88, 124, 126
Parameter 143, 89, 124, 126
Parameter 144, 89, 126
Parameter 145, 89
Parameter 146, 87, 89
Parameter 147, 89, 126
Parameter 148, 89, 97, 115
Parameter 149, 89, 98
Parameter 15, 76
Parameter 150, 90
Parameter 151, 90, 93
Parameter 152, 91
Parameter 153, 91, 115, 116
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 229 of 232
Parameter 154, 91
Parameter 155, 91
Parameter 16, 76, 94
Parameter 161, 92, 93, 177, 186
Parameter 162, 92, 176, 181, 186, 189
Parameter 163, 92, 218
Parameter 164, 92
Parameter 165, 93
Parameter 166, 93
Parameter 167, 90, 93, 148
Parameter 17, 63, 64, 65, 76
Parameter 18, 68, 76
Parameter 181, 94
Parameter 182, 94
Parameter 183, 94
Parameter 184, 94
Parameter 185, 94
Parameter 186, 83, 94
Parameter 187, 94, 119, 120, 125, 126
Parameter 188, 95, 126
Parameter 189, 95
Parameter 19, 76, 150, 151
Parameter 190, 95
Parameter 191, 95
Parameter 192, 95
Parameter 2, 74
Parameter 201, 95, 96, 114
Parameter 202, 95, 114
Parameter 203, 95, 114
Parameter 204, 49, 95, 96, 114
Parameter 205, 95, 114
Parameter 206, 96, 114
Parameter 207, 96, 114
Parameter 208, 96, 205
Parameter 209, 96, 114, 117, 118
Parameter 21, 76, 151
Parameter 210, 96
Parameter 211, 96, 114, 117, 118
Parameter 212, 97
Parameter 213, 97
Parameter 214, 76, 78, 91, 97, 117
Parameter 215, 98, 113
Parameter 216, 98
Parameter 217, 98, 119
Parameter 218, 76, 79, 98
Parameter 219, 98, 118
Parameter 22, 76
Parameter 220, 98, 106, 114, 118
Parameter 221, 18, 98, 177, 186, 189, 194
Parameter 222, 99, 203, 204
Parameter 223, 99, 203, 204
Parameter 224, 99, 100, 189, 193, 194, 197, 198, 205
Parameter 225, 100, 108, 109, 110, 111, 112, 113, 197, 198, 201, 203, 204,
205, 207, 226, 227
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 230 of 232
Parameter 226, 100
Parameter 227, 101, 197, 198, 203, 204
Parameter 228, 101, 194, 197, 198, 203, 204, 226, 227
Parameter 229, 101
Parameter 23, 76
Parameter 230, 101
Parameter 231, 101, 112, 113, 204
Parameter 232, 101
Parameter 233, 101, 166
Parameter 234, 102
Parameter 235, 102
Parameter 236, 102
Parameter 237, 102, 197, 198, 203, 204
Parameter 24, 76
Parameter 241, 102
Parameter 242, 102
Parameter 243, 103
Parameter 244, 103, 197, 198, 203, 204
Parameter 245, 103, 197, 198, 203, 204
Parameter 246, 103
Parameter 25, 77
Parameter 26, 77
Parameter 261, 103, 167
Parameter 262, 104, 167
Parameter 263, 104
Parameter 264, 105
Parameter 265, 105
Parameter 266, 105
Parameter 27, 77
Parameter 28, 77, 80
Parameter 281, 105
Parameter 282, 105
Parameter 283, 105
Parameter 284, 105
Parameter 285, 105
Parameter 286, 105
Parameter 287, 105
Parameter 288, 105
Parameter 289, 105
Parameter 29, 50, 77, 186, 189, 194
Parameter 290, 105, 147
Parameter 291, 92, 105, 106
Parameter 3, 74
Parameter 30, 77
Parameter 301, 106, 122
Parameter 302, 106, 120
Parameter 303, 106, 120, 122
Parameter 304, 106, 122
Parameter 305, 106
Parameter 306, 106
Parameter 307, 106
Parameter 308, 106
Parameter 309, 106
Parameter 31, 77
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 231 of 232
Parameter 310, 106, 107
Parameter 311, 107
Parameter 312, 107, 122
Parameter 313, 107, 122
Parameter 32, 77
Parameter 321, 67, 107
Parameter 322, 67, 107
Parameter 323, 67, 107
Parameter 324, 67, 107
Parameter 325, 67, 107
Parameter 326, 67, 107
Parameter 327, 107
Parameter 33, 77
Parameter 34, 77
Parameter 35, 77
Parameter 36, 77
Parameter 37, 54, 78
Parameter 38, 54, 78
Parameter 39, 78
Parameter 4, 74
Parameter 40, 78, 87, 115
Parameter 41, 41, 70, 78
Parameter 42, 70, 78
Parameter 43, 41, 70, 79, 125, 126
Parameter 44, 41, 70, 79, 125, 126
Parameter 45, 70, 78, 79, 80
Parameter 46, 70, 78, 79, 80
Parameter 47, 79
Parameter 48, 79
Parameter 49, 79
Parameter 5, 74
Parameter 50, 79
Parameter 51, 79
Parameter 52, 79
Parameter 53, 79
Parameter 54, 79, 103
Parameter 55, 80
Parameter 56, 80
Parameter 57, 80
Parameter 58, 80
Parameter 6, 75
Parameter 61, 80
Parameter 62, 80
Parameter 63, 80
Parameter 64, 81
Parameter 65, 81
Parameter 66, 81
Parameter 67, 81, 97
Parameter 68, 81
Parameter 69, 81
Parameter 7, 75, 143
Parameter 70, 81
Parameter 71, 81, 82
Parameter 72, 81, 82
RBBS-PC Version CPC17-1A October 2, 1988
Copyright 1988 by D. Thomas Mack Page 232 of 232
Parameter 73, 81, 82
Parameter 74, 81, 82
Parameter 75, 81, 82
Parameter 76, 82
Parameter 77, 82
Parameter 78, 82
Parameter 79, 82
Parameter 8, 75, 136
Parameter 80, 82
Parameter 81, 83
Parameter 82, 83, 94
Parameter 83, 83
Parameter 84, 84, 151
Parameter 85, 84, 151
Parameter 86, 84
Parameter 87, 84
Parameter 88, 84
Parameter 89, 84
Parameter 9, 75
Parameter 90, 84
Parameter 91, 84
Parameter 92, 85
Parameter 93, 85, 150
Paramter 301, 122
================= END OF RBBS-PC CPC17-1A DOCUMENTATION ==================